<?php date_default_timezone_set('America/Bogota'); //require_once 'rest/vendor/autoload.php'; //require_once 'milfs/rest/vendor/autoload.php'; use Firebase\JWT\JWT; function comprimirDirectorio($dir, $zip) { //Primero comprabamos que sea un directorio if (is_dir($dir)){ //Por cada elemento dentro del directorio foreach (scandir($dir) as $item) { //Evitamos la carpeta actual y la anterior if ($item == '.' || $item == '..') continue; //Si encuentra una que no sea las anteriores, //vuelve a llamar a la función, con un nuevo directorio comprimirDirectorio($dir . "/" . $item, $zip); } }else{ //En el caso de que sea un archivo, lo añade al zip $zip->addFile($dir); } } function documentar($titulo,$descripcion,$id){ $resultado =" <div class='help-tip-$id' role='tooltip' id='$id' > <div>$titulo <i> <h3>$descripcion</h3></i></div> </div> <style> .help-tip-$id{ position: absolute; //top: 18px; //right: 18px; text-align: center; background-color: #999999; border-radius: 5 px; width: 15px; height: 15px; font-size: 10px; //line-height: 26px; cursor: default; z-index:20; } .help-tip-$id:before{ content:'?'; font-weight: bold; color:#fff; } .help-tip-$id:hover div{ display:block; transform-origin: 100% 0%; -webkit-animation: fadeIn 0.3s ease-in-out; animation: fadeIn 0.3s ease-in-out; z-index:22; } .help-tip-$id div{ /* The tooltip */ display: none; text-align: left; background-color: #1E2021; padding: 20px; width: 300px; position: absolute; border-radius: 3px; box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.2); //right: -4px; color: #FFF; font-size: 13px; line-height: 1.4; z-index:20; } .help-tip-$id div:before{ /* The pointer of the tooltip */ position: absolute; content: ''; width:0; height: 0; border:6px solid transparent; border-bottom-color:#1E2021; // right:10px; top:-12px; } .help-tip-$id div:after{ /* Prevents the tooltip from being hidden */ width:100%; height:40px; content:''; position: absolute; top:-40px; left:0; } </style> "; return $resultado; } function aplicaciones_tabla($div,$tipo,$accion){ $link=conectarse(); mysqli_query($link,"SET NAMES 'utf8'"); $consulta = "SELECT * FROM form_id WHERE id_empresa= '$_SESSION[id_empresa]' ORDER BY nombre ASC "; $sql=mysqli_query($link,$consulta); if (mysqli_num_rows($sql)!='0'){ $linea = ""; $columna = 0; while( $row = mysqli_fetch_array( $sql ) ) { $tr .=""; if($columna%2==0){ $c = 0; $td="<tr><td class='aplicaciones_tabla_item'><span class='badge'>$row[id]</span><span data-toggle='tooltip' data-html='true' title='$row[descripcion]'><a class='btn btn-link btn-sm' href='../milfs/?id=$row[id]' target='administrador'>$row[nombre]</a></span></td>"; }else{ $c = 1; $td="<td class='apliaciones_tabla_item'><span class='badge'>$row[id]</span> <span data-toggle='tooltip' data-html='true' title='$row[descripcion]'><a class='btn btn-link btn-sm' href='../milfs/?id=$row[id]' target='administrador'>$row[nombre]</a></span></td></tr>"; } //$linea .="<div class='col-md-6 apliaciones_tabla_item'> [$columna $c ] <a class='btn btn-link btn-sm' href='../milfs/?id=$row[id]' target='administrador'>[$row[id]]</a> <strong>$row[nombre]</strong> - $row[descripcion]</div>"; $columna++; $tr .="$td"; } $resultado = " <div class=' table-responsive container row' role='row' id='aplicaciones_tabla'> <table class='table table-condensed table-striped'> <thead></thead> <tbody> $tr </tbody> </table> </div> "; } if($div ==""){return $resultado;} $respuesta = new xajaxResponse('UTF-8'); $respuesta->addAssign("$div","innerHTML","$resultado"); $respuesta->addScript("$(document).ready(function(){ $('[data-toggle=\"tooltip\"]').tooltip(); });"); return $respuesta; } $xajax->registerFunction("aplicaciones_tabla"); function vista_aplicacion($form){ $plantilla="carousel"; /// a=Aplicacion $geo = buscar_campo_tipo($form,"14"); $empresa = remplacetas('form_id','id',$form,'id_empresa',"") ; $razon_social_portal = remplacetas('empresa','id',"1",'razon_social','') ; $id_empresa = $empresa[0]; $titulo = remplacetas('form_id','id',$form,'nombre',"") ; $descripcion = remplacetas('form_id','id',$form,'descripcion',"") ; // $registros = aplicacion_carrusel("$form",'10','','embebido','',"carousel"); //$registros="<div id='mostrar_carrusel'>$registros</div>"; // $formulario = formulario_embebido($form,$opciones); $titulo = remplacetas('form_id','id',$form,'nombre',"") ; $razon_social = remplacetas('empresa','id',"$id_empresa",'razon_social','') ; $slogan = remplacetas('empresa','id',"$id_empresa",'slogan','') ; $web = remplacetas('empresa','id',"$id_empresa",'web',''); $logo = remplacetas('empresa','id',"$id_empresa",'imagen','') ; $campo_imagen = buscar_campo_tipo($form,"15"); $titulos = formulario_imprimir_linea("$form","","titulos").""; $id_campo = $campo_imagen[0]; if($id_campo[0] =="") { $galeria=""; }else{ $galeria= " <section id='galeria' class='' > <div class='container-fluid'> <div style='overflow-y: scroll; overflow-x: hidden; max-height: calc(100vh - 50px); min-height: calc(100vh - 50px); '> <br> <table class='table table-bordered table-striped exportable'> <thead></thead> <tbody style=' ' id='scroll-galeria' > </tbody> </table> </div> </div> </section> "; } if($geo[0] != "") { $mapa = " <a name='mapa'></a> <embed class='' src='mapero.php?id=$form' width='100%' style='height: calc(100vh - 150px);' webkitAllowFullScreen mozallowfullscreen allowFullScreen ></embed> "; }else {$mapa = "";} $estadisticas = portal_listado_campos("$form"); $acciones= formulario_acciones("$form","aplicacion"); $footer=" <nav class='navbar navbar-default navbar-fixed-bottom'> <div class='container-fluid'> <!-- Brand/logo --> <div class='navbar-header'> <button type='button' class='navbar-toggle collapsed' data-toggle='collapse' data-target='#example-1' aria-expanded='false'> <span class='sr-only'>Toggle navigation</span> <span class='icon-bar'></span> <span class='icon-bar'></span> <span class='icon-bar'></span> </button> <a class='navbar-brand' href='https://tupale.co'>tupale.co</a> </div> <!-- Collapsible Navbar --> <div class='collapse navbar-collapse' id='example-1'> <ul class='nav navbar-nav'> $acciones </ul> </div> </div> </nav>"; $onload=" <div class='reveal' style='bottom: 50px !important; '> <div class='slides' > <section id='inicio' class='text-center scrollable' > <img style='width: 20%; display: block; margin-left: auto; margin-right: auto;' src='milfs/images/secure/?file=600/$logo[0]' alt='' class='img img-responsive center-block'> <h1>$titulo[0]</h1> <h2>$descripcion[0]</h2> <hr> <h2>$razon_social[0]</h2> <h3>$slogan[0]</h3> <hr> <a href='https://tupale.co'>Tupale.co</a> </section> $galeria <section id='estadisticas' class='scrollable' > $estadisticas </section> <section id='mapa'> $mapa </section> <section id='listado' class='' > <div class='container-fluid'> <div style='overflow-y: scroll; overflow-x: hidden; max-height: calc(100vh - 100px); min-height: calc(100vh - 150px); ' > <br> <div class=''> <table class='table table-bordered table-striped exportable'> <thead>$titulos</thead> <tbody style=' ' id='scroll-content' > </tbody> </table> </div> </div> </div> </section> </div> </div> $footer "; //$onload = "$footer $aplicacion "; return $onload; } function vista_voyeur($form){ $plantilla="carousel"; /// a=Aplicacion //$geo = buscar_campo_tipo($form,"14"); $empresa = remplacetas('form_id','id',$form,'id_empresa',"") ; $razon_social_portal = remplacetas('empresa','id',"1",'razon_social','') ; $id_empresa = $empresa[0]; $titulo = remplacetas('form_id','id',$form,'nombre',"") ; $descripcion = remplacetas('form_id','id',$form,'descripcion',"") ; // $registros = aplicacion_carrusel("$form",'10','','embebido','',"carousel"); //$registros="<div id='mostrar_carrusel'>$registros</div>"; // $formulario = formulario_embebido($form,$opciones); $titulo = remplacetas('form_id','id',$form,'nombre',"") ; $razon_social = remplacetas('empresa','id',"$id_empresa",'razon_social','') ; $slogan = remplacetas('empresa','id',"$id_empresa",'slogan','') ; $web = remplacetas('empresa','id',"$id_empresa",'web',''); $logo = remplacetas('empresa','id',"$id_empresa",'imagen','') ; $campo_imagen = buscar_campo_tipo($form,"15"); // $titulos = formulario_imprimir_linea("$form_linea","","titulos").""; $id_campo = $campo_imagen[0]; if($id_campo[0] =="") { $galeria=""; }else{ $galeria= " <section id='galeria' class='' > <div class=''> <div style='overflow-y: scroll; overflow-x: hidden; max-height: calc(100vh - 50px); min-height: calc(100vh - 50px); '> <br> <div class='container'> <table class='table table-condensed table-voyeur table-striped '> <thead></thead> <tbody style=' ' id='scroll-galeria' > </tbody> </table> </div> </div> </section> "; } $encabezado="el encabezado"; $onload=" <div class='revealx' style='top: 0px !important; '> <div class='slidesx' > <div id='inicio' class='text-center scrollable' > $encabezado <a href='https://tupale.co'>Tupale.co</a> </div> $galeria </div> </div> $footer "; //$onload = "$footer $aplicacion "; return $onload; } function array_linea($datos,$tipo,$id){ if(is_array($datos[0]) || is_object($datos[0]) ){ $output=""; include("includes/datos.php"); //$id_campo = campo_titulo($form) ; $debug = print_r($datos,true); foreach ($datos[0] as $id_campo => $valor) { $form= @remplacetas('form_datos','control',"$valor",'form_id',''); $titulo = remplacetas('form_id','id',$form[0],'nombre',"") ; $campo_titulo = campo_titulo($form[0]) ; $id_empresa ="$form[7]"; $razon_social = remplacetas('empresa','id',"$id_empresa",'razon_social','') ; $slogan = remplacetas('empresa','id',"$id_empresa",'slogan','') ; $web = remplacetas('empresa','id',"$id_empresa",'web',''); $logo = remplacetas('empresa','id',"$id_empresa",'imagen','') ; $id_usuario = "$form[6]"; $autor = remplacetas("$tabla_autenticacion","id",$id_usuario,"username",'') ; $email = remplacetas("$tabla_autenticacion","id",$id_usuario,"email",'') ; $imagen = remplacetas("$tabla_autenticacion","id",$id_usuario,"imagen",'') ; $default = "https://tupale.co/milfs/images/profile.jpg"; $fecha = date("Y-m-d H:i:s", $form[4]); if($imagen[0] !=""){$gravatar = $imagen[0];} else{$gravatar = "https://www.gravatar.com/avatar/" . md5( strtolower( trim( $email[0] ) ) ) . "?d=" . urlencode( $default ) . "&s=20";} if($autor[0] ==""){$autor[0] ='Anónimo';} $avatar = "<img style='width:50px;' class='img img-rounded' src='milfs/images/secure/?file=150/$logo[0]'>"; $gravatar = "<img style='width:20px; display: inline-block;' class='img img-circle' src='$gravatar'>"; $cabecera = "<span class=''> <strong>$titulo[0]</strong> $gravatar $autor[0] $fecha</span>"; if( $id_campo=="identificador") { if(!is_array($valor)){ if($tipo =='li'){ $output .= formulario_imprimir_linea("$id","$valor","linea_planilla").""; } elseif($tipo =='galeria'){ $output .= formulario_imprimir_linea("$id","$valor","galeria").""; } elseif($tipo =='voyeur'){ //$output .= formulario_imprimir_linea("","$valor","voyeur").""; $output .= "<td> <table class='table'> <thead>$cabecera</thead> <tbody> <tr> <td>$avatar <small>$razon_social[0]</small> </td> <td class='td_array_linea'>".mostrar_identificador("$valor","","","","")."</td> </tr> </tbody> </table> </td>"; } else{ $output .= "<td>$attr - $item </td>"; } } } } }else{ $output="";} return $output ; } function generar_token($div,$tipo) { require_once 'rest/vendor/autoload.php'; $valor= intval(preg_replace('/[^0-9]+/', '', $div), 10); ; $respuesta = new xajaxResponse('utf-8'); $time = time(); $key = remplacetas('empresa','id',"$_SESSION[id_empresa]",'secret_key',"") ; $key =$key[0]; $token = array( 'iat' => $time, // Tiempo que inició el token // 'exp' => $time + (60*60), // Tiempo que expirará el token (+1 hora) 'data' => [ // información del usuario 'id' => 1, 'tipo' => "$tipo", 'form_id' => "$valor" ] ); $jwt = JWT::encode($token, $key); //$data = JWT::decode($jwt, $key, array('HS256')); //$datos = print_r($data, true); $token=$jwt; $link=Conectarse(); mysqli_set_charset($link, "utf8"); $color = "#".substr(MD5(rand(1,9999)), 0, 6); //escritura: ebf3f1cb-88c3-43fa-8df5-242b591f5367 Nuevo key lectura: f6fdf0b7-b3c7-46cc-a308-10eb8561cc9 if($tipo =='proyecto'){ $token = sprintf( '%04x%04x-%04x-%04x-%04x-%04x%04x%04x', mt_rand( 0, 0xffff ), mt_rand( 0, 0xffff ), mt_rand( 0, 0xffff ), mt_rand( 0, 0x0C2f ) | 0x4000, mt_rand( 0, 0x3fff ) | 0x8000, mt_rand( 0, 0x2Aff ), mt_rand( 0, 0xffD3 ), mt_rand( 0, 0xff4B ) ); $consulta = "UPDATE `empresa` SET `secret_key` = '$token' WHERE `empresa`.`id` = '$_SESSION[id_empresa]'"; $sql=mysqli_query($link,$consulta); if($sql){ $respuesta->addAssign("$div","value","$token" ); $respuesta->addAssign("$div"."_aviso","innerHTML","<font color='$color'>Nuevo key: $token</font>" ); return $respuesta; } }else{ $existe = remplacetas('form_permisos','form_id',$valor,'id',"tipo='$tipo' AND id_empresa = '$_SESSION[id_empresa]'") ; if($existe[0] !=""){ $consulta="UPDATE `form_permisos` SET `control` = '', `permiso` = '$token', `creacion` = NOW(), `id_usuario` = '$_SESSION[id]', `tipo` = '$tipo', `vencimiento` = '0', `id_empresa` = '$_SESSION[id_empresa]', `form_id` = '$valor' WHERE `form_permisos`.`id` = '$existe[0]'"; $sql=mysqli_query($link,$consulta); $respuesta->addAssign("$div","value","$token" ); $respuesta->addAssign("$div"."_aviso","innerHTML","<font color='$color'>Nuevo token $tipo: $token</font> " ); return $respuesta; } ELSE{ $consulta ="INSERT INTO `form_permisos` (`id`, `control`, `permiso`, `vencimiento`, `creacion`, `id_usuario`, `tipo`, `id_empresa`, `form_id`) VALUES (NULL, '', '$token', '0', NOW(), '$_SESSION[id]', '$tipo', '$_SESSION[id_empresa]', '$valor')"; $sql=mysqli_query($link,$consulta); $respuesta->addAssign("$div","value","$token" ); $respuesta->addAssign("$div"."_aviso","innerHTML","<font color='$color'>Nuevo token $tipo: $token</font> " ); return $respuesta; } $respuesta->addAlert("$valor $consulta "); return $respuesta; } } $xajax->registerFunction("generar_token"); function formulario_validar($formulario,$accion,$tipo) { //$formulario_original = $formulario; // $formulario = mysql_seguridad($formulario); $error ='0'; if($accion == "api"){ $respuesta = new xajaxResponse('utf-8'); $formulario_original = $formulario; $formulario = json_decode($formulario,true); //$formulario = print_r($formulario,true); //$respuesta->addAssign("resultado_triage","innerHTML","hOLA $formulario_original" ); //return $respuesta; } $debug=""; $respuesta = new xajaxResponse('utf-8'); $datos=""; $envio=""; $consulta_grabada ='0'; $control = $formulario['control']; // $form_id = $formulario['form_id']; // $tipo_formulario = $formulario['tipo']; // //if($tipo=='validar'){return $error;} if(isset($formulario['metadatos'])){ $metadatos = json_decode($formulario['metadatos']); }else{ $metadadatos="";} $consulta_form = "SELECT * FROM form_contenido_campos,form_campos WHERE form_contenido_campos.id_campo = form_campos.id AND id_form = '$form_id' "; $link=Conectarse(); mysqli_set_charset($link, "utf8"); if(isset ( $_SESSION['id_empresa'])){$id_empresa = $_SESSION['id_empresa']; }else{ $id_empresa = remplacetas('form_id','id',$formulario['form_id'],'id_empresa',"") ; $id_empresa = $id_empresa[0]; } if(isset ( $_SESSION['equipo'])){$equipo = $_SESSION['equipo']; }else { $equipo = NULL;} //$respuesta->addAssign("resultado_triage","innerHTML","hOLA $formulario_original ".time()."" ); //return $respuesta; foreach($formulario as $c=>$v){ if (is_array($v) ){ foreach($v as $C=>$V){ $campo_tipo = remplacetas("form_campos","id",$c,"campo_tipo",""); $campo_nombre = remplacetas("form_campos","id",$c,"campo_nombre",""); if(@$campo_tipo[0] =="30" OR @$campo_tipo[0] =="24") { $V=array(); $V[$c]=$v; $V = json_encode($V); } if($V != '') { if($campo_tipo[0] =='12' OR $campo_tipo[0] =='13') { $validar = validar_email($V); if($validar == '0') { $error ='email'; $respuesta->addAssign("input_".$c."[".$C."]","className"," form-group has-error "); $respuesta->addScript("document.getElementById('".$c."[".$C."]').focus(); "); $respuesta->addAlert("Se necesita un email válido"); if($tipo=='validar'){return $error;}else{return $respuesta;} }else { //$respuesta->addAssign("input_".$c."[".$C."]","className"," form-group has-success "); } } if($campo_tipo[0] =='3' ) { $validar = is_numeric($V); if(is_numeric($V) ) { $rango = remplacetas('form_campos_valores','id_form_campo',$c,'campo_valor',"") ; $campos = explode(":",$rango[0]); if($campos[0] =='rango') { $valores_rango = explode(";",$campos[1]); $min= $valores_rango[0]; $max= $valores_rango[1]; if($V < $min OR $V > $max) { $error ='rango'; $respuesta->addAssign("input_".$c."[".$C."]","className"," form-group has-error "); $respuesta->addScript("document.getElementById('".$c."[".$C."]').focus(); "); $respuesta->addAlert("El campo $campo_nombre[0] debe estar entre $min y $max"); if($tipo=='validar'){return $error;}else{return $respuesta;} } } //$respuesta->addAssign("input_".$c."[".$C."]","className"," form-group has-success "); }else{ $error ='numerico'; $respuesta->addAssign("input_".$c."[".$C."]","className"," form-group has-error "); $respuesta->addScript("document.getElementById('".$c."[".$C."]').focus(); "); $respuesta->addAlert("El campo $campo_nombre[0] solo acepta valores numéricos"); if($tipo=='validar'){return $error;}else{return $respuesta;} } } if($campo_tipo[0] =='11' ) { $rango = remplacetas('form_campos_valores','id_form_campo',$c,'campo_valor',"") ; $campos = explode(":",$rango[0]); if($campos[0] =='rango') { $valores_rango = explode(";",$campos[1]); $min= strtotime("$valores_rango[0]"); $ano = date("Y", strtotime($valores_rango[0])); $mes = date("m", strtotime($valores_rango[0])); $dia = date("d", strtotime($valores_rango[0])); if($valores_rango[1] =='0') { $max = time(); $valores_rango[1]= $max; $max_fecha = date("Y-m-d");} else{$max= strtotime("$valores_rango[1]"); $max_fecha= $valores_rango[1];} $fecha = strtotime("$V"); if($fecha < $min OR $fecha > $max) { $error ='rango'; $respuesta->addAssign("input_".$c."[".$C."]","className"," form-group has-error "); $respuesta->addScript("document.getElementById('".$c."[".$C."]').focus(); "); $respuesta->addAlert("El campo $campo_nombre[0] debe estar entre $valores_rango[0] y $max_fecha"); if($tipo=='validar'){return $error;}else{return $respuesta;} } } // $respuesta->addAssign("input_".$c."[".$C."]","className"," form-group has-success "); } if($campo_tipo[0]=='17') { $limite = limite("$c",'','limite'); $size= strlen($V); $restante = ($limite - $size); if( $restante < 0) { $error ='limite'; $respuesta->addAssign("input_".$c."[".$C."]","className"," form-group has-error "); $respuesta->addAlert("ATENCION: El campo $campo_nombre[0] no debe tener mas de $limite caractéres, sobran $restante"); $respuesta->addScript("document.getElementById('".$c."[".$C."]').focus(); "); if($tipo=='validar'){return $error;}else{return $respuesta;} } } } else{ //busca campos vacios $campo_obligatorio = remplacetas("form_contenido_campos","id_campo",$c,"obligatorio","id_form = '$formulario[form_id]'"); if($campo_obligatorio[0] =='1'){ $error ='obligatorio'; $respuesta->addAssign("input_".$c."[".$C."]","className"," form-group has-error "); $respuesta->addAlert("ATENCION: El campo $campo_nombre[0] es obligatorio"); $respuesta->addScript("document.getElementById('".$c."[".$C."]').focus(); "); if($tipo=='validar'){return $error;}else{return $respuesta;} } } } } } if($tipo=='validar'){return $error;} } $xajax->registerFunction("formulario_validar"); /* * Formulario validar * * * */ function banner_empresa($id_empresa,$form){ if($form !=""){ $titulo = remplacetas('form_id','id',$form,'nombre',"") ; $descripcion = remplacetas('form_id','id',$form,'descripcion',"") ; $formulario=" <h2 id='titulo_formulario'>$titulo[0]</h2> <h3 id='descripcion_formulario' >$descripcion[0]</h3> "; }else{$formulario="";} $razon_social = remplacetas('empresa','id',"$id_empresa",'razon_social','') ; $slogan = remplacetas('empresa','id',"$id_empresa",'slogan','') ; $web = remplacetas('empresa','id',"$id_empresa",'web',''); $logo = remplacetas('empresa','id',"$id_empresa",'imagen','') ; $resultado=" <div class='container' id='contenedor_cabecera'> <div class='col-md-3' id='logo_cabecera'> <a href='./e$id_empresa'> <img id='logo_cabecera' class='center-block img img-responsive' style='' src='milfs/images/secure/?file=300/$logo[0]'> </a> </div> <div class='col-md-7'> <h1 id='titulo_cabecera' data-toc-skip=''> <a href=''>$razon_social[0]</a></h1> <div id='slogan_cabecera'> <p>$slogan[0]</p> $formulario </div> </div> </div> "; return $resultado; } function vista_favorita($form_id){ $favorita=""; $vista_favorita = remplacetas('form_parametrizacion','campo',$form_id,'descripcion'," tabla='form_id' AND opcion='vista_favorita'") ; if($vista_favorita[0] !=""){ $vista=$vista_favorita[0]; if($vista=='libro') { $favorita="b$form_id?registros=10";} elseif($vista=='aplicacion') { $favorita="a$form_id";} elseif($vista=='set') { $favorita="s$form_id";} elseif($vista=='mapa') { $favorita="mapero.php?id=$form_id";} elseif($vista=='presentacion') { $favorita="c$form_id";} elseif($vista=='timeline') { $favorita="&eventos=$form_id";} elseif($vista=='formulario') { $favorita="f$form_id";} elseif($vista=='informe') { $favorita="l$form_id";} elseif($vista=='planilla') { $favorita="p$form_id";} elseif($vista=='agenda') { $favorita="?eventos=$form_id";} elseif($vista=='checklist') { $favorita="m$form_id";} elseif($vista=='notas') { $favorita="n$form_id";} elseif($vista=='landingpage') { $favorita="o$form_id";} else{ $favorita="b$form_id?registros=10";} }else{ } return $favorita; } function limpiar_cadena($cadena) { return (preg_replace('[^ A-Za-z0-9_-ñÑ]', '', $cadena)); // return preg_replace('/\&(.)[^;]*;/', '\\1', $cadena); } function notas_papelera($form,$accion){ $id_campo = remplacetas('form_parametrizacion','campo',$form,'descripcion'," tabla='form_id' and opcion = 'descripcion'") ; $id_campo = $id_campo[0]; if($id_campo =="") { $id_campo = campo_titulo($form) ; } $parametrizaciones_listado ="<h2>Restaurar</h2>"; $parametrizaciones = mostrar_parametrizaciones("array","form_id","$form",$item,"mostrar","hidden",$timestamp); //$parametrizaciones = print_r($parametrizaciones,true); //note yellow ui-draggable ui-draggable-handle foreach($parametrizaciones as $clave => $v){ $contenido = remplacetas('form_datos','id_campo',$id_campo,'contenido'," control = '$clave' ") ; $parametrizaciones_listado .= "<div id='mensaje_$clave'>$contenido[0] <a href='#' onclick=\"xajax_parametrizacion_linea('form_id','$form','mostrar','visible','mensaje_$clave','','$clave'); javascript: document.getElementById('nota_$form-$clave').className= ' note yellow visble'; \" ' > <i class='fa fa-undo' aria-hidden='true'></i></a></div><br>"; } if ($accion ==""){ $boton ="<div class='btn btn-warning' onclick=\"xajax_notas_papelera('$form','listado') \"> <i class='fa fa-trash'></i> Papelera</div><div id='papelera_$form'></div>"; return $boton; }else{ $respuesta = new xajaxResponse('utf-8'); $respuesta->addAssign("papelera_$form","innerHTML","$parametrizaciones_listado"); // $respuesta->addAlert("Hola mundo!"); return $respuesta; } } $xajax->registerFunction("notas_papelera"); function aplicacion_configuracion($tipo,$div,$form) { $parametrizaciones_listado = notas_papelera($form,$accion); $contenido =" <div class='container-fluid'> <a onclick=\"xajax_limpia_div('contenido'); \" href='#menu-toggle' class=' pull-right' id='cerrar-toggle'>Cerrar [x] </a> <hr> <div class='col-md-12'> <h2>Configuración</h2> <div class='panel-group' id='accordion'> <div class='panel panel-default'> <div class='panel-heading'> <h4 class='panel-title'> <a data-toggle='collapse' data-parent='#accordion' href='#collapse1' onclick=\"xajax_agregar_campos('consultar_campos','consultar_campo','$form')\"> Campos</a> </h4> </div> <div id='collapse1' class='panel-collapse collapse '> <div class='panel-body'> <div id='consultar_campo'></div> </div> </div> </div> <div class='panel panel-default'> <div class='panel-heading'> <h4 class='panel-title'> <a data-toggle='collapse' data-parent='#accordion' href='#collapse2'> Notas</a> </h4> </div> <div id='collapse2' class='panel-collapse collapse'> <div class='panel-body'>$parametrizaciones_listado</div> </div> </div> </div> </div> </div> "; $respuesta = new xajaxResponse('utf-8'); $respuesta->addAssign("$div","innerHTML","$contenido"); // $respuesta->addAlert("Hola mundo!"); return $respuesta; } $xajax->registerFunction("aplicacion_configuracion"); function cadena_array($text,$tipo,$cantidad,$form,$div) { $limpios=array(); $plantilla=""; $compuestos=""; $array_compuestos =array(); $wordCounter =array(); $cantidades =array(); if($cantidad =="") {$cantidad="10";} $extras = array( 'p'=>array('de','la','que','el','en','y','a','los','del','se','las','por','un','para','con','no','una','su','al','es','lo', 'como','más','pero','sus','le','ya','o','fue','este','ha','sí','porque','esta','son','entre','está','cuando','muy','sin','sobre', 'ser','tiene','también','me','hasta','hay','donde','han','quien','están','estado','desde','todo','nos','durante','estados','todos', 'uno','les','ni','contra','otros','fueron','ese','eso','había','ante','ellos','e','esto','mí','antes','algunos','qué','unos','yo' ,'otro','otras','otra','él','tanto','esa','estos','mucho','quienes','nada','muchos','cual','sea','poco','ella','estar','haber', 'estas','estaba','estamos','algunas','algo','nosotros','mi','mis','tú','te','ti','tu','tus','ellas','nosotras','vosotros','vosotras', 'os','mío','mía','míos','mías','tuyo','tuya','tuyos','tuyas','suyo','suya','suyos','suyas','nuestro','nuestra','nuestros','nuestras', 'vuestro','vuestra','vuestros','vuestras','esos','esas','estoy','estás','está','estamos','estáis','están','esté','estés','estemos', 'estéis','estén','estaré','estarás','estará','estaremos','estaréis','estarán','estaría','estarías','estaríamos','estaríais', 'estarían','estaba','estabas','estábamos','estabais','estaban','estuve','estuviste','estuvo','estuvimos','estuvisteis','estuvieron', 'estuviera','estuvieras','estuviéramos','estuvierais','estuvieran','estuviese','estuvieses','estuviésemos','estuvieseis','estuviesen', 'estando','estado','estada','estados','estadas','estad','he','has','ha','hemos','habéis','han','haya','hayas','hayamos','hayáis', 'hayan','habré','habrás','habrá','habremos','habréis','habrán','habría','habrías','habríamos','habríais','habrían','había','habías', 'habíamos','habíais','habían','hube','hubiste','hubo','hubimos','hubisteis','hubieron','hubiera','hubieras','hubiéramos','hubierais', 'hubieran','hubiese','hubieses','hubiésemos','hubieseis','hubiesen','habiendo','habido','habida','habidos','habidas','soy','eres', 'es','somos','sois','son','sea','seas','seamos','seáis','sean','seré','serás','será','seremos','seréis','serán','sería','serías', 'seríamos','seríais','serían','era','eras','éramos','erais','eran','fui','fuiste','fue','fuimos','fuisteis','fueron','fuera','fueras', 'fuéramos','fuerais','fueran','fuese','fueses','fuésemos','fueseis','fuesen','siendo','sido','tengo','tienes','tiene','tenemos', 'tenéis','tienen','tenga','tengas','tengamos','tengáis','tengan','tendré','tendrás','tendrá','tendremos','tendréis','tendrán', 'tendría','tendrías','tendríamos','tendríais','tendrían','tenía','tenías','teníamos','teníais','tenían','tuve','tuviste','tuvo', 'tuvimos','tuvisteis','tuvieron','tuviera','tuvieras','tuviéramos','tuvierais','tuvieran','tuviese','tuvieses','tuviésemos', 'tuvieseis','tuviesen','teniendo','tenido','tenida','tenidos','tenidas','tened', 'ante', 'bajo', 'con', 'contra', 'desde', 'durante', 'entre', 'hacia', 'hasta', 'mediante', 'para', 'por', 'pro', 'según', 'sin', 'sobre', 'tras', 'vía', 'también','parecen','toca','numero','número','video','vídeo','fotos','asi','así','miles' ,'cientos','imágenes','imagenes','años','sentido','ultimos','últimos','mano','dicen','casi','servicio','vice','pero','Pero','trata','decir' ), 'a'=>array('el','él','los', 'las', 'una', 'unos', 'unas', 'este', 'estos', 'ese', 'esos', 'aquel', 'aquellos', 'esta', 'estas', 'esa', 'esas', 'aquella', 'aquellas', 'usted', 'nosotros', 'vosotros', 'ustedes', 'nos', 'les', 'nuestro', 'nuestra', 'vuestro', 'vuestra', 'mis', 'tus', 'sus', 'nuestros', 'nuestras', 'vuestros', 'vuestras', 'de', 'la', 'su', 'La', 'No', 'rcn', 'RCN', 'El', 'una', 'Una' ), 'o'=>array('esto', 'que', 'del', 'es', 'en', 'ha', 'al', 'lo', 'un','si','sí','no','se','art','luego','solo','más','como','cómo','dijo', 'buena','buen','algunos','algunas','el','donde','fueron','más','varios','personas','uno','dos','tres','cuatro','cinco','seis','siete','ocho','nueve','diez' ,'causa','cien','mil','millon','millones','pesos','quien','que','fecha','tiene','vez','hay','horas','fue','com','var','uri','mas','quot','minuto','the','event', 'param','pero','and','split','ciento','san','son','aacute','colombia','pais','un','Un','youtube','estaba','ayer','hoy','anoche', 'adelante','ahora','allá','anoche','antaño','anteanoche','antenoche','antes','aquí','aún','ayer','constantemente','cuando','despacio', 'después','durante','enantes','encima','endenantes','enseguida','hasta','hogaño','horita','hoy','luego','mañana','mientras','mucho', 'nunca','primero','pronto','recientemente','recién','siempre','tarde','temprano','todavía','ya','parte','procedieron','están','Ver'), ); $texto = $text; $text = html_entity_decode($text); //$text = limpiar_cadena("$text"); ///$text = str_replace(array('\r\n', '\n', '<br>', '<BR>'),'', $text); $text = str_replace(array('?','¿','¡','!',' ','"'," ",">","El"), ' ', $text); //$text = str_replace(array('(',')',':','.','?','!','-','*','-','"','¿','¡',':',';','“','”','‘','’','“',"'","+","/>"), ' ', $text);//reemplazar el carácterno es válido //$regex_nombres_compuestos = array('(\s[A-Z][\w-áéíóú]*(\s+[A-Z][\w-áéíóú]+)+)'); $no_validos = array('(',')',':','.','?','!','-','*','-','"','¿','¡',':',';','“','”','‘','’','“',"'","+","/>",">"); //$regex_nombres_compuestos = '(.[A-Z][\w-áéíóú]*(\s+[A-Z][\w-áéíóú]+)+)'; //$regex_nombres_compuestos = '(.[A-ZÁÉÍÓÚ][\w-áéíóúñ]*(\s+[A-ZÁÉÍÓÚ][\w-áéíóúñ]+)+)'; //$regex_nombres_compuestos = '(.[A-ZÁÉÍÓÚ][\w-áéíóúñ]*(\s((de)(( la))?)?\s?[A-ZÁÉÍÓÚ][\w-áéíóúñ]+)+)'; $regex_nombres_compuestos = '(.[A-ZÁÉÍÓÚ]+[\wáéíóúñ]*(\s((de)(( la ))?)?\s?[A-ZÁÉÍÓÚ]+[\wáéíóúñ]+)+)'; //$regex_nombres_compuestos = '(.[A-ZÁÉÍÓÚ][\w-áéíóúñ]*(.((de)(( la)?))?.?[A-ZÁÉÍÓÚ][\w-áéíóúñ]+)+)'; ///$text = preg_replace($mayuscula_inicial,"$0_compuesto_$1_$2", $text); preg_match_all("$regex_nombres_compuestos", $text, $array_nombres_compuestos); //$array_nombres_compuestos[0] = str_replace($no_validos, '',$array_nombres_compuestos[0]);//reemplazar el carácterno es válido $array_nombres_compuestos_unicos[0]=array_unique($array_nombres_compuestos[0]); foreach($array_nombres_compuestos[0] as $clave => $v){ $tags = str_replace(array(' '), '_', $v); $compuestos .="$v<br> "; //$array_compuestos[] = str_replace(array('(',')',':','.','?','!','-','*','-','"','¿','¡',':',';','“','”','‘','’','“',"'","+","/>"), ' ', strip_tags($tags));; $array_compuestos[] = strip_tags($tags); } $text = strip_tags($text); $text = str_replace(array('?','¿','¡','!',' ','\r\n', '\n','�'), ' ', $text); $text = str_replace(array('(',')',':','.','?','!','-','*','-','"','¿','¡',':',';','“','”','‘','’','“',"'","+","/>"), ' ', $text);//reemplazar el carácterno es válido $text = str_replace(array(' ','.'), ',', $text);//sustituir por comas $array=explode(",",$text);//Crear un array con las palabras $array = array_merge($array_compuestos,$array); //// debug $array = array_diff($array, $extras['p'], $extras['a'], $extras['o']); foreach ($array as $clave => $value) { $title=""; $tag_adicional=""; $value=trim($value);//bye spaces if ( strlen($value)>3) {//no smaller than X and not in banned //$value = stemm_es::stemm($value); //I can count how many time we ad and update the record in an array if (@array_key_exists($value,$wordCounter)){//if the key exists we ad 1 more $wordCounter[$value]=$wordCounter[$value]+1; } else $wordCounter[$value]=1;//creating the key } } unset($arrText); //$lema=stemm_es::stemm($wordCounter); uasort($wordCounter,"cmp");//short from bigger to smaller $keywords=array(); $cantidades=""; $count = 0; foreach ($wordCounter as $key => $value){ if($value >1){ if($count < $cantidad){ //$keywords[] =$key; $keywords[] ="$key"; $cantidades[$key] ="$value"; }else{break;} $count++; } } $tags=$keywords; $resultado = $title; if($tags !=''){ $nube =""; $min = min($cantidades); $max = max($cantidades); $diferencia = $max - $min; if($diferencia <= 0){ $diferencia =1;} foreach($tags as $c=>$valor){ //foreach($wordCounter as $c=>$valor){ //$valor = $tags[0]; //$valor ="$valor "; $p = stripos($resultado, $valor); if($p !==false ){ $s1 = substr($resultado, 0, $p); $s2 = substr($resultado, $p, strlen($valor)); $s3 = substr($resultado, ($p + strlen($valor))); $resultado = $s1."#$s2".$s3; //$r= $s1; }else{ $c = str_replace(array('_'), ' ', $valor); $camel[] = str_replace(array(' '), '', $c); $palabras[]=explode(" ",$c);//Crear un array con las palabras foreach($palabras as $valor){ $listado_palabras[] = $valor; } $ht = str_replace(array(' '), '', $c); $limpios[] = $c; $cant = $cantidades["$c"]; $valor_relativo = round((($cant - $min) / $diferencia) * 10); $size = ($cant/4); $tag_adicional .= "<SPAN title='$cant' CLASS='badge label-warning' draggable='true' id='#$ht ' ondragstart=\"evdragstart(event,this)\">$c </span> " ; $array_prueba = print_r($wordCounter,true); if($div !=""){ $accion="xajax_buscar_datos('$c','$form','$plantilla','$div'); "; }else{$accion="";} $nube .= "<a href='#' onclick =\"$accion\"><span class='etiquetatam$valor_relativo' style='' title='$c $cant' id='#$ht ' >$c</span></a> " ; } } } $resultado = " $compuestos $tag_adicional "; if($tipo=="tags") { return $tag_adicional; }elseif($tipo=="personajes") { //return $compuestos; return $array_nombres_compuestos[0]; }elseif($tipo=="nube") { //return $compuestos; $etiquetas=" <div class=''> $nube <div style='clear:both'></div> </div> "; return "$etiquetas"; }elseif($tipo=="limpio") { //return $compuestos; return $limpios; }elseif($tipo=="camel") { //return $compuestos; return $listado_palabras[0]; }else { return $resultado; } ///return $array; ///debug } function array_tabla($contenido,$campo){ //return $contenido[0]; foreach ($contenido as $id_campo => $valor) { $linea .= "<div class='div_$campo' >$id_campo $valor esto</div>"; } return $linea ; } function formulario_corpus($id_form,$id_campo,$group,$tipo,$div){ $consulta = "SELECT count(control) as cantidad , id_campo ,contenido , campo_nombre FROM `form_datos`, `form_campos` WHERE `form_datos`.id_campo = `form_campos`.id AND `id_campo` = '$id_campo' AND `form_id` = '$id_form' GROUP BY $group order by cantidad"; $link=Conectarse(); mysqli_set_charset($link, "utf8"); $sql=mysqli_query($link,$consulta); if (mysqli_num_rows($sql)!='0'){ $array = array(); while( $row = mysqli_fetch_array( $sql ) ) { $etiquetas .="".html_entity_decode($row['contenido'])." "; $array[] = html_entity_decode($row['contenido']); $colores .= "'#".substr(md5(rand()), 0, 6)."',"; } $etiqueta = "".substr (preg_replace("[\n|\r|\n\r|\t]",'', $etiquetas), 0, -1).""; }else { $grafica= $consulta; } $etiqueta = limpiar_cadena($etiqueta); $etiqueta= cadena_array("$etiqueta","nube","50","$id_form","$div"); ///$etiqueta = array_tabla($etiqueta,"tags"); //$etiqueta = json_encode($etiqueta); return $etiqueta; } function formulario_autores($form,$id_usuario) { $link=Conectarse(); mysqli_set_charset($link, "utf8"); //$consulta ="SELECT COUNT(control) AS cantidad,id_usuario FROM `form_datos` WHERE `form_id` = '$form' GROUP BY `id_usuario` ORDER BY cantidad DESC "; $consulta ="SELECT *,count(distinct control) as cantidad FROM form_datos WHERE form_id = '$form' GROUP BY id_usuario order by cantidad DESC "; /* if($autor=="") { $id_autor="$row[id_usuario]"; $autor = remplacetas("$tabla_autenticacion","id",$id_autor,"username",'') ; $autor= "$autor[0]"; }else{$autor=$autor;} */ $sql=mysqli_query($link,$consulta); if (mysqli_num_rows($sql)!='0'){ include("./milfs/includes/datos.php"); include("./milfs/includes/parametrizacion.php"); $cantidad=mysqli_num_rows($sql); while($row=mysqli_fetch_assoc($sql)) { $nombre_autor = remplacetas("$tabla_autenticacion","id",$row['id_usuario'],"username",'') ; if($nombre_autor[0] !="") { $Autor = $nombre_autor[0];} else { $Autor = remplacetas('form_datos','form_id',"$login_formulario",'contenido'," id_campo = '$login_campo_usuario' AND control = '$row[id_usuario]'") ; $Autor= "$Autor[0]"; //$Autor ="$row[id_usuario]"; } if($Autor !="") { $autor .= "<li ><a title='$row[id_usuario]' href='#'>$Autor <span class='badge'>$row[cantidad]</span></a></li> "; }else { $otros .= "<li ><a title='$row[id_usuario]' href='#'>Otro <span class='badge'>$row[cantidad]</span></a></li>";} } $resultado = "$cantidad <ul>$autor $otros</ul> "; }else {$resultado =0;} return $resultado ; } function formulario_contar_parametrizacion($tabla,$campo,$item,$opcion,$descripcion,$id_empresa,$timestamp) { $link=Conectarse(); mysqli_set_charset($link, "utf8"); if($id_empresa ==""){$empresa="";}else{$empresa ="AND id_empresa = '".mysqli_real_escape_string($link,$id_empresa)."'";} // if($tabla ==""){$tabla="";}else{$tabla ="AND tabla = '".mysqli_real_escape_string($link,$tabla)."'";} if($campo ==""){$campo="";}else{$campo ="AND campo = '".mysqli_real_escape_string($link,$campo)."'";} if($item ==""){$item="";}else{$item ="AND item = '".mysqli_real_escape_string($link,$item)."'";} if($opcion ==""){$opcion="";}else{$opcion ="AND opcion = '".mysqli_real_escape_string($link,$opcion)."'";} if($descripcion ==""){$descripcion="";}else{$descripcion ="AND descripcion = '".mysqli_real_escape_string($link,$descripcion)."'";} $consulta ="SELECT id FROM form_parametrizacion WHERE tabla = '".mysqli_real_escape_string($link,$tabla)."' $campo $empresa $item $opcion $descripcion "; $sql=mysqli_query($link,$consulta); if (mysqli_num_rows($sql)!='0'){ $resultado=mysqli_num_rows($sql); }else {$resultado =0;} return $resultado; } function mostrar_parametrizaciones($tipo,$tabla,$campo,$item,$opcion,$descripcion,$timestamp){ $resultado =""; if($tipo =='categorizacion') { $consulta = "SELECT *,count(id) as cantidad FROM `form_parametrizacion` WHERE opcion ='$opcion' and tabla='$tabla' AND campo='$campo' group by descripcion order by cantidad DESC"; } else { if($opcion !=""){ $w_opcion = " AND opcion = '$opcion'";} if($descripcion !=""){ $w_descripcion = " AND descripcion = '$descripcion'";} if($id_form !=""){ $w_form = " AND id_form = '$id_form'";} if($tipo !=""){ $w_tipo = " AND tipo= '$tipo'";} if($identificador !=""){ $w_identificador = " AND identificador= '$identificador'";} $consulta = "SELECT * FROM form_parametrizacion WHERE tabla ='$tabla' AND campo='$campo' $w_opcion $w_descripcion "; } $link=Conectarse(); mysqli_set_charset($link, "utf8"); mysqli_real_escape_string($link,$consulta); $sql=mysqli_query($link,$consulta); if (mysqli_num_rows($sql)!='0'){ //$resultado = mysqli_num_rows($sql); //$resultado = mysqli_result($sql,0,"cantidad"); while($row=mysqli_fetch_assoc($sql)) { if($tipo == "array") { $resultado[$row['item']] = $row['descripcion']; } elseif($tipo == "categorizacion") { $resultado[$row['descripcion']] = $row['cantidad']; }else{ $resultado .= "<li id='li_$row[item]'> $row[descripcion] $row[cantidad]</li>"; } } } return $resultado; } function notas_estadisticas($form,$div,$tipo) { $cantidad_notas= formulario_contar("$form"); $cantidad_autores= formulario_autores("$form",""); $total_gusta= contar_interacciones("","Gusta","","$form"); $total_compromisos= contar_interacciones("","Comprometo","","$form"); $total_comentarios= contar_interacciones("","Comentar","","$form"); $id_campo = remplacetas('form_parametrizacion','campo',$form,'descripcion'," tabla='form_id' and opcion = 'descripcion'") ; $id_campo = $id_campo[0]; if($id_campo =="") { $id_campo = campo_titulo($form) ; } $corpus = formulario_corpus("$form","$id_campo","contenido","barras"); $clasificacion = mostrar_parametrizaciones("categorizacion","form_id","$form","","clase","",""); $cantidad_clasificacion = array_sum($clasificacion); $diferencia = ($cantidad_notas - $cantidad_clasificacion ); $clasificacion['yellow'] = ($clasificacion['yellow']+$diferencia); asort($clasificacion); foreach($clasificacion as $clave => $v){ $tabla_clasificacion .= "<td class='$clave text-center'>$v</td>"; } $tabla_clasificacion = "<table class='table table-responsive'><tr>$tabla_clasificacion</tr></table>"; $contenido =" <div class='container-fluid'> <a onclick=\"xajax_limpia_div('contenido'); \" href='#menu-toggle' class=' pull-right' id='cerrar-toggle'>Cerrar [x] </a> <hr> <div class='col-md-5'> <ul class='list-group'> <li class ='list-group-item active'>Estadísticas</li> <li class='list-group-item' >Total notas: <strong>$cantidad_notas</strong> </li> <li class='list-group-item'>Autores: <strong>$cantidad_autores</strong></li> <li class='list-group-item'>Me gusta: <strong>$total_gusta</strong> Compromisos: <strong>$total_compromisos</strong> Comentarios: <strong>$total_comentarios</strong></li> <li class='list-group-item'><h3>Clasificación</h3>$tabla_clasificacion</li> </ul> </div> <div class='col-md-5'> <div class='container-fluid'> <ul class='list-group'> <li class ='list-group-item active'>Palabras mas usadas</li> <li class='list-group-item'>$corpus</li> <ul> </div> </div> </div> "; $respuesta = new xajaxResponse('utf-8'); $respuesta->addAssign("$div","innerHTML","$contenido"); // $respuesta->addAlert("Hola mundo!"); return $respuesta; } $xajax->registerFunction("notas_estadisticas"); function formulario_mini($datos,$id,$opciones,$tipo){ $respuesta = new xajaxResponse('utf-8'); $publico = remplacetas('form_id','id',"$id",'modificable',"") ; $equipo = remplacetas('form_datos','control',$opciones,'equipo',"") ; if($publico[0] =="0" AND $_SESSION['id'] =="") { $resultado = " <div class='alert alert-danger'><h2><a href='./milfs/'>Ingresa</a> Para agregar datos a esta aplicación. <i class='fa fa-user-circle-o'></i></h2></div>"; $respuesta->addAssign("titulo_modal","innerHTML","$cabecera"); $respuesta->addAssign("muestra_form","innerHTML","$resultado"); $respuesta->addscript("$('#muestraInfo').modal('toggle')"); return $respuesta; } elseif($publico[0] =="2" AND ($_SESSION['id'] =="" AND !isset($_SESSION['nombre_usuario_milfs'] ))) { $login = milfs_session("","","","boton","",'formulario_login'); $resultado = " <div class='alert alert-danger'><p>Ingresa con tu usuario para agregar datos a esta aplicación. <i class='fa fa-user-circle-o'></i></p> </div> <div id='div_login'>$login</div>"; $respuesta->addAssign("titulo_modal","innerHTML","$cabecera"); $respuesta->addAssign("muestra_form","innerHTML","$resultado"); $respuesta->addscript("$('#muestraInfo').modal('toggle')"); return $respuesta; } $propietario = remplacetas('form_id','id',$id,'propietario',"") ; if(isset($_SESSION['permiso_identificador'])) { $permiso_identificador = $_SESSION['permiso_identificador'] ; $salir= "$permiso_identificador <div class='btn btn-danger pull-right btn-small' onclick=\"xajax_autoriza_formulario_mostrar('','',''); \">Salir <i class='glyphicon glyphicon-log-out'></i></div>"; } else{ $permiso_identificador = ""; $salir="";} if($equipo[0] =="" OR is_null($equipo[0]) ) {}else{ if($tipo =='edit' AND ($_SESSION['equipo'] !== $equipo[0] )){ $aviso = "<div class='alert alert-warning text-center '> <h1><i class='glyphicon glyphicon-exclamation-triangle'></i> ATENCIÓN<br><small>No está autorizado Para modificar esta información</small><br> pertenece a un grupo de trabajo diferente</h1></div>"; $resultado = " <div class='container-fluid' style=''> $salir $aviso </div> "; $respuesta->addAssign("muestra_form","innerHTML","$resultado"); $respuesta->addscript("$('#muestraInfo').modal('toggle')"); return $respuesta; } } if($tipo =='edit' AND ($_SESSION['id_empresa'] !== $id_empresa[0] AND $_SESSION['id'] != $propietario[0] )AND $permiso_identificador != $opciones) { $password = buscar_campo_tipo($id,"18"); $aviso = "<div class='alert alert-warning text-center '><h1><i class='glyphicon glyphicon-exclamation-triangle'></i> ATENCIÓN<br><small>No está autorizado</small> </h1></div>"; $seguridad =" <div class='input-group has-error ' id='div_seguridad_$control'> <span class='input-group-addon'> <i class='glyphicon glyphicon-key'></i> $password[1] </span> <input type='password' class='form-control' id='clave_identificador' name='clave_identificador' > <span class='input-group-btn'> <div class='btn btn-danger' onclick=\"xajax_autoriza_formulario_mostrar((document.getElementById('clave_identificador').value),'$id','$opciones'); \"><i class='glyphicon glyphicon-arrow-right'></i></div> </span> </div> "; $resultado =" <div class='container-fluid' style=''> $salir $aviso $seguridad </div> "; $respuesta->addAssign("titulo_modal","innerHTML","$cabecera"); $respuesta->addAssign("muestra_form","innerHTML","$resultado"); $respuesta->addscript("$('#muestraInfo').modal('toggle')"); return $respuesta; } //$data= print_r($datos,true); $x = $datos[1][1]; $y = $datos[2][1]; $z = $datos[3][1]; $metadatos = json_encode($datos); $control = md5(rand(1,99999999).microtime()); $id_campo = remplacetas('form_parametrizacion','campo',$id,'descripcion'," tabla='form_id' and opcion = 'descripcion'") ; $id_campo = $id_campo[0]; if($id_campo =="") { $id_campo = campo_titulo($id) ; } $boton="<div class='form-group '> <div class='btn btn-success btn-block' onclick=\"xajax_formulario_grabar(xajax.getFormValues('form_nota_$control'),'');\" >Grabar</div> </div>"; $nota=" <div id='nueva_nota_$control'> <div id='nota_$id-$control' class='note yellow $mostrar ' style=\" width: 500px; height:500px; position:absolute; margin:auto; top:".$y."px; left:".$x."px; z-index: 2000 \"> <a class='btn btn-danger' href='#' onclick=\"xajax_limpia_div('nueva_nota_$control') \">Cancelar</a> <a class='btn btn-warning' href='#' onclick =\"xajax_formulario_embebido_ajax($datos,'$id','$opciones','$tipo'); xajax_limpia_div('nueva_nota_$control') \">Mas datos</a> <div class='botonera'> <div onclick=\" javascript: document.getElementById('clase_$control').value= 'yellow'; javascript: document.getElementById('nota_$id-$control').className= 'note yellow'; \"class='pull-right yellow btn accion' style=''></div> <div onclick=\" javascript: document.getElementById('clase_$control').value= 'blue'; javascript: document.getElementById('nota_$id-$control').className= 'note blue'; \" class='pull-right blue btn accion' ></div> <div onclick=\" javascript: document.getElementById('clase_$control').value= 'green'; javascript: document.getElementById('nota_$id-$control').className= 'note green'; \"class='pull-right green btn accion' ></div> <div onclick=\" javascript: document.getElementById('clase_$control').value= 'red'; javascript: document.getElementById('nota_$id-$control').className= 'note red'; \"class='pull-right red btn accion' ></div> </div> <hr name=''> <div id='div_$control'></div> <form autocomplete='off' name='form_nota_$control' id='form_nota_$control'> <div id='input_$id_campo"."[0]' ></div> <textarea id='$id_campo"."[0]' name='$id_campo"."[0]' placeholder='Escribe tu nota'></textarea> <input type='hidden' value='$control' name='control' id='control'> <input type='hidden' id='form_id' name='form_id' value='$id'> <input type='hidden' id='tipo' name='tipo' value='nuevo'> <input type='hidden' id='tipo_form' name='tipo_form' value='mini'> <input type='hidden' id='metadatos' name='metadatos' value='$metadatos'> <input type='hidden' id='clase_$control' name='clase' value=''> <div id='mensaje_$control' class='hidden'></div> $boton </form> </div> </div>"; //$respuesta->addScript("javascript:viewport.style.transform='scale(1,1)';"); $respuesta->addAppend("main","innerHTML","$nota"); ///$respuesta->addScript("make_draggable($('.note'));"); $respuesta->addScript("javascript:document.getElementById('$id_campo"."[0]').focus();"); //$respuesta->addScript("javascript:location.href='#nuevanota'"); //$respuesta->addAlert("$x $y $z - $data"); return $respuesta; if($tipo=="respuesta") { $form_respuesta = "respuesta";}else {$form_respuesta="";} $impresion = formulario_areas($datos,"$id","$tipo","$form_respuesta","$opciones",'',''); $cantidad_areas = formulario_areas('',"$id","cantidad","$form_respuesta","$opciones",'',''); $formulario_nombre = remplacetas('form_id','id',$id,'nombre','') ; $formulario_descripcion = remplacetas('form_id','id',$id,'descripcion','') ; $muestra_form = " <div class='container-fluid' style=' background-color:white; overflow:no;' id='contenedor_datos' > <!-- formulario_areas --> $impresion <!-- formulario_areas --> </div> "; $respuesta->addAssign("muestra_form","innerHTML","$muestra_form"); $respuesta->addAssign("titulo_modal","innerHTML","$cabecera"); $respuesta->addAssign("pie_modal","innerHTML","$pie"); $respuesta->addscript("$('#muestraInfo').removeClass('fade').modal('hide')"); $respuesta->addscript(" $('.next').click(function(){ var nextId = $(this).parents('.tab-pane').next().attr('id'); $('[href=#'+nextId+']').tab('show'); return false; }) $('.prev').click(function(){ var prevId = $(this).parents('.tab-pane').prev().attr('id'); $('[href=#'+prevId+']').tab('show'); return false; }) $('a[data-toggle=\"tab\"]').on('shown.bs.tab', function (e) { //update progress var step = $(e.target).data('step'); var percent = (parseInt(step) / $cantidad_areas ) * 100; $('.progress-bar').css({width: percent + '%'}); $('.progress-bar').text('Paso ' + step + ' de $cantidad_areas' ); //e.relatedTarget // previous tab }) $('.first').click(function(){ $('#myWizard a:first').tab('show') }) "); $respuesta->addscript("$('#muestraInfo').modal('toggle')"); return $respuesta; } $xajax->registerFunction("formulario_mini"); function notas_tablero($form) { $titulo = remplacetas('form_id','id',$form,'nombre',"") ; $descripcion = remplacetas('form_id','id',$form,'descripcion',"") ; $zoom = remplacetas('form_parametrizacion','campo',"$form",'descripcion'," opcion= 'zoom' AND item = 'tablero' ") ; $empresa = remplacetas('form_id','id',$form,'id_empresa',"") ; $propietario = remplacetas('form_id','id',$form,'propietario',"") ; if ( $propietario[0] == $_SESSION['id']){ $administracion = "<a onclick=\"xajax_aplicacion_configuracion('','contenido','$form'); \"href='#menu-toggle' class='btn btn-default menu-toggle' id='configuracion-toggle'><i class='fa fa-cogs' aria-hidden='true'></i></a>"; }else{ $administracion = ""; } $notes = notes("$form",'','',''); $footer=" <nav class='navbar navbar-inverse navbar-fixed-bottom'> <div class='list-inline'> <ul class=' center-block' style=' float:none; margin:0 auto; display: block; text-align: center;'> <a href='e$empresa[0]' class='btn btn-default ' > <i class='fa fa-home' aria-hidden='true'></i> </a> <a class='btn btn-default ' onclick=\"coordenadas(event); \" href='#' > <i class='fa fa fa-plus' aria-hidden='true'></i> </a> <div class='btn-group'> <a href='#' class='btn btn-default dropdown-toggle' data-toggle='dropdown'> <i class='fa fa fa-search-plus' aria-hidden='true'></i> </a> <ul class='dropdown-menu drop-up dropdown-menu-right' role='menu'> <li> <div class='hidden' id='zoom_label'>$zoom_label</div> <input id='zoom_nivel' class='' onchange=\"viewport.style.zoom=(this.value); xajax_parametrizacion_linea('form_id','$form','zoom',(this.value),'zoom_label','','tablero'); \"; type='range' min='0.3' value='$zoom[0]' max='2' step='0.01' /> </li> </ul> </div> <a onclick=\"xajax_notas_estadisticas('$form','contenido',''); \" href='#menu-toggle' class='btn btn-default menu-toggle' id='estadisticas-toggle'><i class='fa fa-bar-chart' aria-hidden='true'></i></a> $administracion <a href='https://tupale.co' class=' pull-right'>Tupale.co </a> </ul> </div> </nav> "; if(isset($_REQUEST['social'])) { }else{} $login = milfs_session("","","","boton","",'div_session'); if($_SESSION['username'] !='') { $autor = $_SESSION['username'];} elseif($_SESSION['usuario_milfs'] !='') { $autor = $_SESSION['nombre_usuario_milfs'];} else {$autor='';} //$estadisticas = portal_listado_campos("$form"); $tablero=" $footer <div id='wrapper-sidebar' class='toggled'> <!-- Sidebar --> <div id='sidebar-wrapper'> <div id='contenido' class='sidebar-contenido '> $estadisticas </div> </div> <!-- /#sidebar-wrapper --> </div> <div id='viewport' title='Doble click para agregar una nota' style='width:100%; zoom: $zoom[0]; ' onclick=\" xajax_ultimos_registros(document.getElementById('ultimo_id').value,'$form'); \" > <div id='main' ondblclick=\"coordenadas(event);\" style=' top: 1000px;' > <div class='container-fluid'> </div> <div class=' img-rounded tablero_titulo ' style='' ><h1>$titulo[0] <br><small>$descripcion[0]</small></h1> <span class='data'>$form-titulo</span> <div class='hidden' id='mensaje_titulo'></div> <div id='div_session'> $login </div> </div> $notes <span id='prueba' class=''></span> </div> </div> <script type='text/javascript'> // #wall is the infinite wall. // The wall is made of tiles 100px wide and 100px high. var infinitedrag = jQuery.infinitedrag('#main', {}, { width: 366, height: 366, start_col: 0, start_row: 0 }); function coordenadas(event) { x=event.clientX; y=event.clientY; autor='$autor'; // var cordenadas= 'x:'+x+'y'+y; var datos = [['id','$form'],['x',x],['y',y],['z',++zIndex],['autor',autor]]; //alert(cordenadas); javascript:xajax_formulario_mini(datos,'$form','','nuevo'); //javascript:xajax_formulario_embebido_ajax(datos,'$form','','nuevo'); } </script> "; return $tablero; } function ultimos_registros($id,$form) { //$id= ($id -100000); //$ultimo = time(); $registros=""; $respuesta = new xajaxResponse('utf-8'); $consulta ="SELECT * , md5(binary control ) as md5_control FROM form_datos WHERE form_id = '$form' AND timestamp > '$id' GROUP BY control order by timestamp DESC LIMIT 100"; $link=Conectarse(); mysqli_set_charset($link, "utf8"); $sql=mysqli_query($link,$consulta); if (mysqli_num_rows($sql)!='0'){ while($row=mysqli_fetch_assoc($sql)) { $registros .= notes("$form",'','',"$row[control]")." "; } $respuesta->addAppend("prueba","innerHTML","$registros"); $respuesta->addScript("make_draggable($('.note'));"); } $ultimo = mktime(); $respuesta->addScript("javascript: document.getElementById('ultimo_id').value='$ultimo'"); //$notes = notes("$form",'','',''); ///$respuesta->addAlert("$id $ultimo $consulta"); //$respuesta->addPrepend("prueba","innerHTML","$registros"); return $respuesta; } $xajax->registerFunction("ultimos_registros"); function campo_titulo($id){ $campo_titulo = remplacetas('form_parametrizacion','campo',$id,'descripcion'," tabla='form_id' and opcion = 'titulo'") ; if($campo_titulo[0] !=""){ return $campo_titulo[0]; }else{ $consulta ="SELECT form_contenido_campos.id_campo , orden FROM form_contenido_campos WHERE form_contenido_campos.id_form = '$id' ORDER BY form_contenido_campos.orden desc LIMIT 1"; $link=Conectarse(); mysqli_set_charset($link, "utf8"); $sql=mysqli_query($link,$consulta); if (mysqli_num_rows($sql)!=0){ return mysqli_result($sql,0,'id_campo'); } } } function nota_nueva(){ } function notes($id,$accion,$datos,$registro){ if($accion =="") { if($registro !="") { //$color='blue'; $consulta = "SELECT * FROM form_datos WHERE form_id = '$id' AND control ='$registro' Limit 1"; }else { $consulta = "SELECT * FROM form_datos WHERE form_id = '$id' GROUP BY control ORDER BY id desc limit 100 "; } // return $consulta; $link=Conectarse(); mysqli_set_charset($link, "utf8"); $sql=mysqli_query($link,$consulta); if (mysqli_num_rows($sql)!='0'){ $notes = ''; $left=''; $top=''; $zindex=''; //$id_campo = campo_titulo($id) ; $id_campo = remplacetas('form_parametrizacion','campo',$id,'descripcion'," tabla='form_id' and opcion = 'descripcion'") ; $id_campo = $id_campo[0]; if($id_campo =="") { $id_campo = campo_titulo($id) ; } $orden =1; $orden_left =1; mysqli_data_seek($sql, 0); while($row=mysqli_fetch_assoc($sql)) { $titulo = remplacetas('form_datos','id_campo',$id_campo,'contenido'," control = '$row[control]' ") ; $posicion = remplacetas('form_parametrizacion','item',"$row[control]",'descripcion'," campo= '$id' AND opcion = 'posicion' ") ; $metadatos = remplacetas('form_parametrizacion','item',"$row[control]",'descripcion'," campo= '$id' AND opcion = 'metadatos_iniciales' ") ; $color = remplacetas('form_parametrizacion','item',"$row[control]",'descripcion'," campo= '$id' AND opcion = 'clase' ") ; $mostrar = remplacetas('form_parametrizacion','item',"$row[control]",'descripcion'," campo= '$id' AND opcion = 'mostrar' ") ; $gusta = remplacetas('form_parametrizacion','item',"$row[control]",'descripcion'," campo= '$id' AND opcion = 'voto' ") ; $comprometo = remplacetas('form_parametrizacion','item',"$row[control]",'descripcion'," campo= '$id' AND opcion = 'voto' ") ; $color=$color[0]; $mostrar =$mostrar[0]; list($left,$top,$zindex) = explode('-',$posicion[0]); list($left_inicial,$top_inicial,$zindex_inicial,$autor) = explode('-',$metadatos[0]); if($autor=="") { include("./milfs/includes/datos.php"); $id_autor="$row[id_usuario]"; $autor = remplacetas("$tabla_autenticacion","id",$id_autor,"username",'') ; $autor= "$autor[0]"; }else{$autor=$autor;} if($left=="") { $top = ($orden+100);//random_int(1,5000); $left = ($orden_left+100);//random_int(1,5000); $zindex = $orden; }else{ $left=$left; $top=$top; $zindex=$zindex; } if($_SESSION['username'] !='') { $autor_logueado = $_SESSION['username'];} elseif($_SESSION['usuario_milfs'] !='') { $autor_logueado = $_SESSION['nombre_usuario_milfs'];} else {$autor_logueado='';} if($color =="") { $color="yellow";}else { $color=$color;} if($mostrar =="") { $mostrar="";}else { $mostrar=$mostrar;} if($gusta[0] !="") { $gustax="text-success";}else { $gustax="";} if($comprometo[0] !="") { $comprometox="text-success";}else { $comprometox="";} $caracteres = strlen("$titulo[0]"); $texto= substr($titulo[0],0, $length = 200); if($caracteres > 200) { $texto .= "... <button type='button' class='btn btn-link btn-xs' data-html='true' data-toggle='tooltipx' data-placement='top' title='$titulo[0]'>[+]</button>"; } $interaccion = interaccion_identificador("$row[control]",'','simple','',''); $notes.= " <div id='nota_$id-$row[control]' class='note $color $mostrar' style=\" left: ".$left."px; top: ".$top."px; z-index: ".$zindex." \"> <div class='pull-left'> <a href='#' onclick=\"xajax_mostrar_modal('$id','$row[control]','landingpage');\" ><i class='fa fa-plus'></i></a> </div> <div class='botonera'> <div onclick=\"xajax_parametrizacion_linea('form_id','$id','mostrar','hidden','mensaje_$row[control]','','$row[control]'); javascript: document.getElementById('nota_$id-$row[control]').className= 'hidden'; \"class='pull-right ' ><i class='btn btn-xs fa fa-trash-o' aria-hidden='true'></i></div> <div onclick=\"xajax_parametrizacion_linea('form_id','$id','clase','fantasma','mensaje_$row[control]','','$row[control]'); javascript: document.getElementById('nota_$id-$row[control]').className= 'note '; \"class='pull-right ' ><i class='btn btn-xs fa fa-low-vision' aria-hidden='true'></i></div> <div onclick=\"xajax_parametrizacion_linea('form_id','$id','clase','yellow','mensaje_$row[control]','','$row[control]'); javascript: document.getElementById('nota_$id-$row[control]').className= 'note yellow'; \"class='pull-right yellow btn accion' style=''></div> <div onclick=\"xajax_parametrizacion_linea('form_id','$id','clase','blue','mensaje_$row[control]','','$row[control]'); javascript: document.getElementById('nota_$id-$row[control]').className= 'note blue'; \" class='pull-right blue btn accion' ></div> <div onclick=\"xajax_parametrizacion_linea('form_id','$id','clase','green','mensaje_$row[control]','','$row[control]'); javascript: document.getElementById('nota_$id-$row[control]').className= 'note green'; \"class='pull-right green btn accion' ></div> <div onclick=\"xajax_parametrizacion_linea('form_id','$id','clase','red','mensaje_$row[control]','','$row[control]'); javascript: document.getElementById('nota_$id-$row[control]').className= 'note red'; \"class='pull-right red btn accion' ></div> </div> <hr> <p>$texto</p> <span class='data'>$id-$row[control]</span> <div class='hidden' id='mensaje_$row[control]'></div> <div class='footer ' role='row'> <div class='btn-group '> <a href='#' class='btn btn-xs btn-link dropdown-toggle' data-toggle='dropdown' aria-expanded='false'> <i class='fa fa fa-thumbs-o-up' aria-hidden='true'></i> </a> <ul class='dropdown-menu drop-up text-center' role='menu'> <li> $interaccion </li> </ul> </div> <!-- <div class='pull-left'> <div id='gusta_$row[control]' class='$gustax btn btn-xs col-xs-6' title='Me gusta' onclick=\"xajax_parametrizacion_linea('form_id','$id','gusta','$autor_logueado','mensaje_$row[control]','','$row[control]'); javascript: document.getElementById('gusta_$row[control]').className= 'text-success btn btn-xs col-xs-6'; \" > <i class=' fa fa-thumbs-o-up' aria-hidden='true'></i> </div> <div id='comprometo_$row[control]' data-toggle='tooltip' class='$comprometox btn btn-xs col-xs-6' title='Me comprometo' onclick=\"xajax_parametrizacion_linea('form_id','$id','comprometo','$autor_logueado','mensaje_$row[control]','','$row[control]'); javascript: document.getElementById('comprometo_$row[control]').className= 'text-success btn btn-xs col-xs-6'; \" > <i class='fa fa-handshake-o' aria-hidden='true'></i> </div> </div> --> <div class='pull-right'> <footer>$autor<footer> </div> </div> </div> "; // parametrizacion_linea($tabla,$campo,$opcion,$descripcion,$div,$script,$item) $orden = ($orden+2); $orden_left = ($orden+1); $ultimo = mktime(); $ultimo_id = $ultimo; } return "$notes <input type='hidden' id='ultimo_id' name='ultimo_id' value='$ultimo_id'>"; }else {return "";} }elseif($accion =='mover') { $id = explode("-", $datos[0][1]); $form=$id[0]; $control= $id[1]; $respuesta = new xajaxResponse('utf-8'); /// $resultado = print_r($datos,true); $x= $datos[1][1]; $y= $datos[2][1]; $z= $datos[3][1]; $resultado = parametrizacion_linea('form_id',"$form",'posicion',"$x-$y-$z",'mensaje_$control','',"$control"); $respuesta->addAssign("mensaje_$control","innerHTML",""); return $respuesta; }else{ $respuesta = new xajaxResponse('utf-8'); $resultado = print_r($accion,true); $resultado = $accion[3][1]; $respuesta->addAlert("Hola mundo// $resultado // !"); return $respuesta; } } $xajax->registerFunction("notes"); function suite_listado($id_empresa,$suite){ if($id_empresa=="") { $id_empresa="1";} $suite=urldecode($suite) ; if($suite!="") { $campo='id as campo, grupo'; $w_grupo ="AND grupo ='$suite'";}else {$w_grupo="GROUP BY grupo "; $campo ='grupo , count(grupo) as campo '; } $consulta= "SELECT *, $campo FROM form_grupo WHERE id_empresa= '$id_empresa' $w_grupo "; $miniatura =""; $link=Conectarse(); mysqli_set_charset($link, "utf8"); mysqli_real_escape_string($link,$consulta); $sql=mysqli_query($link,$consulta); $linea=""; $linea_consultar=""; $linea_editar=""; $razon_social = remplacetas('empresa','id',"$id_empresa",'razon_social','') ; $slogan = remplacetas('empresa','id',"$id_empresa",'slogan','') ; $web = remplacetas('empresa','id',"$id_empresa",'web',''); $logo = remplacetas('empresa','id',"$id_empresa",'imagen','') ; if (mysqli_num_rows($sql)!='0'){ $fila = 1; //include("includes/datos.php"); $error_token = ""; $contenido = ""; while( $row = mysqli_fetch_array( $sql ) ) { //$link = "<a href='b$row[id]?registros=10'> Consultar <i class='glyphicon glyphicon-external-link-square'></i></a>"; $imagen = buscar_imagen($row['id'],'','',''); $geo = buscar_campo_tipo($row['id'],"14"); $ultimo_mapa = remplacetas('form_datos','form_id',$row['id'],'contenido'," id_campo = '$geo[0]'") ; $mostrar = remplacetas('form_parametrizacion','campo',$row['id'],'descripcion'," tabla='form_id' AND opcion='mostrar_portal'") ; $llenar = remplacetas('form_parametrizacion','campo',$row['id'],'descripcion'," tabla='form_id' AND opcion='llenar_portal'") ; $ver_data = remplacetas('form_parametrizacion','campo',$row['id'],'descripcion'," tabla='form_id' AND opcion='ver_data_portal'") ; $vista_favorita = remplacetas('form_parametrizacion','campo',$row['id'],'descripcion'," tabla='form_id' AND opcion='vista_favorita'") ; $vista=$vista_favorita[0]; if($vista=='libro') { $favorita="b$row[id]?registros=10";} elseif($vista=='aplicacion') { $favorita="a$row[id]";} elseif($vista=='set') { $favorita="s$row[id]";} elseif($vista=='mapa') { $favorita="mapero.php?id=$row[id]";} elseif($vista=='presentacion') { $favorita="c$row[id]";} elseif($vista=='timeline') {$favorita="&eventos=$row[id]";} elseif($vista=='formulario') { $favorita="f$row[id]";} elseif($vista=='informe') { $favorita="l$row[id]";} elseif($vista=='planilla') { $favorita="p$row[id]";} elseif($vista=='agenda') { $favorita="?eventos=$row[id]";} elseif($vista=='landingpage') { $favorita="o$row[id]";} elseif($vista=='notas') { $favorita="n$row[id]";} elseif($vista=='checklist') { $favorita="?m$row[id]";} else{ $favorita="b$row[id]?registros=10";} ; $titulo = remplacetas('form_id','id',$row['id'],'nombre',"") ; $descripcion = remplacetas('form_id','id',$row['id'],'descripcion',"") ; if($geo[0] !='') { $mapa= "<a class='boton_land btn btn-default ' href='mapero.php?id=$row[id]' target='mapa'><i class='fa fa-globe' aria-hidden='true'></i> Mapa</a>";}else {$mapa='';} $descripcion_limpia = strip_tags($row['descripcion']); if($imagen !="") { $imagen =" <figure> <a href='$favorita'> <img style='max-height:170px; ' class='img img-rounded img-responsive' src='milfs/images/secure/?file=300/$imagen' alt='$row[nombre]'> <!-- <figcaption class='articulo_caption' >$row[nombre]</figcaption> --> </a> </figure> "; } $contenido =" <h2 class='text-center titulo_formulario section-heading'><a href='$favorita'>$row[grupo] $row[cantidad] <i class='glyphicon glyphicon-external-link-square'></i></a></h2> <p class='descripcion_formulario text-left'>$descripcion_limpia </p>"; // if ( $fila%2==0){ if($llenar[0] !="0") {$boton_agregar =" <div class='boton_land btn btn-default ' onclick=\"xajax_formulario_embebido_ajax('','$row[id]','','nuevo');\"> <i class='glyphicon glyphicon-plus-sign'></i> Agregar </div>";} else{$boton_agregar = "";} if($ver_data[0] !="0") {$boton_ver_data =" <a target='datos'class='boton_land btn btn-default ' href= 'opendata.php?id=$row[id]'> <i class='fa fa-bar-chart' aria-hidden='true'></i> OpenData</a>";} else{$boton_ver_data = "";} if($mostrar[0] !="0") { //// PRIVACIDAD $publico = remplacetas('form_id','id',"$row[id]",'publico',"") ; /// PRIVACIDAD if($publico[0] =='1') { $linea .= "<li class='list-group-item' title='' data-toggle='tooltip' data-placement='auto' data-html='true'><a class='' href='k$id_empresa&suite=$row[grupo]'><h2>$row[grupo]</h2></a></li>"; $linea_consulta .= "<li title='$descripcion[0]' data-toggle='tooltip' data-placement='auto' data-html='true'><a href='#mostrar' onclick=\" xajax_consultar_contenido_formulario('$row[id]','5','','','','$plantilla')\">$titulo[0]</a></li>"; $lista .= "<li class='list-group-item' ><a href='#mostrar' onclick=\" xajax_consultar_contenido_formulario('$row[id]','5','','','','$plantilla')\">$titulo[0]</a> $descripcion[0]</li>"; $linea_editar .= "<li title='$descripcion[0]' data-toggle='tooltip' data-placement='auto' data-html='true'><a href='#' class=' ' title='Agregar' onclick=\"xajax_formulario_embebido_ajax('','$row[id]','','nuevo');\">$titulo[0]</a></li>"; }else{ if($llenar[0] !="0"){ /// $linea .="<li>$row[grupo] // $row[campo] </li> "; } } }else { } $fila++; } if($suite!="") { $footer=" <nav class='navbar navbar-inverse navbar-fixed-bottom'> <div class='list-inline'> <ul class=' center-block' style=' float:none; margin:0 auto; display: block; text-align: center;'> <a href='k$id_empresa' class='btn btn-default ' > <i class='fa fa-home' aria-hidden='true'></i> </a> <a href='#inicio' class='btn btn-default ' > <i class='fa fa-list' aria-hidden='true'></i> </a> <!-- <a href='#mapa' class='btn btn-default ' > <i class='fa fa-map' aria-hidden='true'></i> </a> --> <div class='btn-group'> <a href='#' class='btn btn-default dropdown-toggle' data-toggle='dropdown'> <i class='fa fa-eye' aria-hidden='true'></i> </a> <ul class='dropdown-menu drop-up dropdown-menu-right' role='menu'> $linea_consulta </ul> </div> <div class='btn-group'> <a href='#' class='btn btn-default dropdown-toggle' data-toggle='dropdown'> <i class='fa fa-plus' aria-hidden='true'></i> </a> <ul class='dropdown-menu drop-up dropdown-menu-right' role='menu'> $linea_editar </ul> </div> </ul> </div> </nav> "; $resultado =" <div class='reveal' style='bottom: 80px !important;'> <div class='slides' > <section id='inicio' class='scrollable present text-center' style='' > <img style='width: 100%; display: block; margin-left: auto; margin-right: auto;' src='milfs/images/secure/?file=600/$logo[0]' alt='' class='img img-responsive center-block'> <h2>$descripcion[0]</h2> <hr> <h1>$razon_social[0]</h1> <h2>$slogan[0]</h2> <hr> <ul class='list-group'> $lista </ul> <hr> <a href='https://tupale.co'>Tupale.co</a> </section> <section id='mostrar' class='scrollable present text-center' style='' > <div id='mostrar_resultado' class='text-center'> <img style='width: 20%; display: block; margin-left: auto; margin-right: auto;' src='milfs/images/secure/?file=600/$logo[0]' alt='' class='img img-responsive center-block'> </div> </section> <section id='mapa'> <img style='width: 20%; display: block; margin-left: auto; margin-right: auto;' src='milfs/images/secure/?file=600/$logo[0]' alt='' class='img img-responsive center-block'> </section> </div> </div> $footer "; }else { $titulo = remplacetas('empresa','id',"$id_empresa",'razon_social','') ; $resultado =" <div class='reveal' style='bottom: 80px !important;'> <div class='slides' > <section id='inicio' class='scrollable present text-center' style='' > <img style='width: 20%; display: block; margin-left: auto; margin-right: auto;' src='milfs/images/secure/?file=600/$logo[0]' alt='' class='img img-responsive center-block'> <h2>$descripcion[0]</h2> <hr> <h1>$razon_social[0]</h1> <h2>$slogan[0]</h2> <hr> <ul class='list-group'> $linea </ul> <hr> <a href='https://tupale.co'>Tupale.co</a> </section> </div> </div> "; } }else{ $resultado =" <div class='reveal' style='bottom: 80px !important;'> <div class='slides' > <section id='inicio' class='scrollable present text-center' style='' > <img style='width: 20%; display: block; margin-left: auto; margin-right: auto;' src='milfs/images/secure/?file=600/$logo[0]' alt='' class='img img-responsive center-block'> <h2>$descripcion[0]</h2> <hr> <h1>$razon_social[0]</h1> <h2>$slogan[0]</h2> <hr> <h1 class='text-danger'>Sigue intentando :( </h1> <hr> <a href='https://tupale.co'>Tupale.co</a> </section> </div> </div> "; } return $resultado; } function checklist($id,$registros,$campo,$valor,$accion){ //$valor=urldecode($valor); $area_principal =""; $despliegue=""; $link=Conectarse(); mysqli_set_charset($link, "utf8"); if($registros =="") { $registros = '300';} $publico = remplacetas('form_id','id',"$id",'publico',"") ; $propietario = remplacetas('form_id','id',$id,'propietario',"") ; $empresa = remplacetas("form_id","id","$id","id_empresa",""); if($publico[0] == 0 AND ( $_SESSION['id_empresa'] != $empresa[0])) { $advertencia ="<div class='alert alert-danger'><h1>No tiene autorización para revisar este contenido</h1></div>"; return $advertencia; } //select($tabla,$value,$descripcion,$onchange,$where,$nombre,$valor) $filtro_campos = select_campos_formulario("$id","Campo checkeo","xajax_checklist($id,$registros,(this.value),'','xajax')",""); if($campo !=""){ $consulta_areas= "SELECT * , form_areas.orden FROM form_campos, `form_contenido_campos`, form_areas WHERE form_campos.campo_area = form_areas.id AND form_campos.id = form_contenido_campos.id_campo AND form_contenido_campos.id_form = '$id' GROUP BY form_campos.campo_area ORDER BY form_areas.orden limit 1"; $sql_area=mysqli_query($link,$consulta_areas); $area_principal = mysqli_result($sql_area,0,"id"); $filtro = select('form_datos','contenido','contenido',"xajax_checklist($id,$registros,$campo,(this.value),'xajax')","id_campo = '$campo' ",'filtro',''); }else{ $filtro=""; } /// PRIVACIDAD if($publico[0] =='1') {} if($campo !="" AND $valor !=''){ $w_campo = " AND id_campo= '$campo' AND contenido ='$valor' ";}else{$w_campo="";} $consulta_principal = "SELECT control,id,form_id FROM form_datos WHERE form_id = '$id' $w_campo GROUP BY form_datos.control "; mysqli_real_escape_string($link,$consulta_principal); $sql_total=mysqli_query($link,$consulta_principal); $sql=mysqli_query($link,$consulta_principal); mysqli_data_seek($sql_total, 0); mysqli_data_seek($sql, 0); // $equipo = remplacetas('form_datos','control',$opciones,'equipo',"") ; $empresa = remplacetas('form_id','id',"$id",'id_empresa',"") ; if($_SESSION['id_empresa'] == $empresa[0]){ $tipo_titulos= array("titulos","$campo","$area_principal","checkeo"); $tipo= array("interaccion_linea","$campo","$area_principal","checkeo"); } else{ $tipo_titulos= array("titulos","","$area_principal","checkeo"); $tipo= array("linea_planilla","","$area_principal","checkeo"); } $titulo = formulario_imprimir_linea("$id","",$tipo_titulos).""; $nombre_formulario = remplacetas("form_id","id",$id,"nombre",""); $descripcion_formulario = remplacetas("form_id","id",$id,"descripcion",""); if($campo !=""){ $campo_chequeo_nombre = remplacetas('form_campos','id',"$campo",'campo_nombre',"") ; $campo_chequeo_nombre = "$campo_chequeo_nombre[0] /"; $valor_encode = urlencode("$valor"); //$uri ="$_SESSION[site]m$id&campo=$campo&valor=$valor_encode"; $uri ="http://$_SERVER[HTTP_HOST]/m$id&campo=$campo&valor=$valor_encode"; $cadena_busqueda =" <h3 class='text-danger'>$campo_chequeo_nombre $valor</h3> <div class='input-group'> <span class='input-group-addon'>URL</span> <input class='form-control' value='$uri' > </div> "; } $id_empresa= $empresa[0]; $imagen = remplacetas("empresa","id",$id_empresa,"imagen",""); $razon_social = remplacetas("empresa","id",$id_empresa,"razon_social",""); $web = remplacetas("empresa","id",$id_empresa,"web",""); $slogan = remplacetas("empresa","id",$id_empresa,"slogan",""); $pie = empresa_datos("$id_empresa",'pie'); $cabecera=" <div class='cabecera_planilla row'> <div class='col-xs-2 col-sm-4'> <img src='milfs/images/secure/?file=150/$imagen[0]' class='img img_planilla'> </div> <div class=''col-xs-10> <h1>$razon_social[0] <small>$slogan[0]</small></h1> <h2>$nombre_formulario[0] <small>$descripcion_formulario[0]</small></h2> </div> </div>"; $fila=1; $cantidad = mysqli_num_rows($sql); //$tipo[1]="campo"; //$tipo="linea_planilla"; while( $row = mysqli_fetch_array( $sql ) ) { /* if($fila % $registros == 0) {$separador="</table></div >$pie<div class='saltopagina'></div> $cabecera <div class='table-responsive' > <table id='planilla' class='table table-bordered table-striped'> <thead><th></th>$titulo</thead>";}else {$separador="";} */ //$linea = formulario_imprimir_linea("$id","$row[control]",$tipo); $linea = formulario_imprimir_linea("$id","$row[control]",$tipo); $despliegue .= "<tr><td><small>$fila</small></td>$linea</tr> $separador"; //formulario_imprimir_linea("$row[form_id]","$row[control]") $fila++; } //return print_r(mysqli_fetch_array( $sql )); //"<h1>Hola mundo $cabecera xxx $campo $valor // $cantidad</h1>"; $tabla= "<div class='container'> $cabecera $cadena_busqueda $filtro_campos $filtro <div class='table-responsive' > <table id='planilla' class='table table-bordered table-striped table-responsive table-hover'> <thead> <th></th> $titulo </thead> <tbody> $despliegue </tbody> </table></div></div> <script type='text/javascript'> $('#planilla').DataTable( { dom: 'Bfrtip', pageLength:5, buttons: [ 'copy', 'excel', 'csv','print' ] } ); </script> $pie"; $resultado= "<div id='check_div' class='container-fluid'>$tabla</div>"; if($accion != "xajax"){ return $resultado.""; } else{ $respuesta = new xajaxResponse('utf-8'); $respuesta->addAssign("check_div","innerHTML","$resultado"); $respuesta->addScript("$('#planilla').DataTable( { dom: 'Bfrtip', pageLength:5, buttons: ['copy', 'excel', 'csv','print']} );"); return $respuesta; } } $xajax->registerFunction("checklist"); function planilla($id,$registros,$tipo){ $despliegue=""; if($registros =="") { $registros = '15';} $publico = remplacetas('form_id','id',"$id",'publico',"") ; $propietario = remplacetas('form_id','id',$id,'propietario',"") ; $empresa = remplacetas("form_id","id","$id","id_empresa",""); if($publico[0] == 0 AND ( $_SESSION['id_empresa'] != $empresa[0])) { $advertencia ="<div class='alert alert-danger'><h1>No tiene autorización para revisar este contenido</h1></div>"; return $advertencia; } /// PRIVACIDAD if($publico[0] =='1') {} $consulta_principal = "SELECT control,id,form_id FROM form_datos WHERE form_id = '$id' GROUP BY form_datos.control "; $link=Conectarse(); mysqli_set_charset($link, "utf8"); mysqli_real_escape_string($link,$consulta_principal); $sql_total=mysqli_query($link,$consulta_principal); $sql=mysqli_query($link,$consulta_principal); mysqli_data_seek($sql_total, 0); $titulo = formulario_imprimir_linea("$id",'','titulos'); $nombre_formulario = remplacetas("form_id","id",$id,"nombre",""); $descripcion_formulario = remplacetas("form_id","id",$id,"descripcion",""); $id_empresa= $empresa[0]; $imagen = remplacetas("empresa","id",$id_empresa,"imagen",""); $razon_social = remplacetas("empresa","id",$id_empresa,"razon_social",""); $web = remplacetas("empresa","id",$id_empresa,"web",""); $slogan = remplacetas("empresa","id",$id_empresa,"slogan",""); $pie = empresa_datos("$id_empresa",'pie'); if($tipo ==""){ $cabecera=" <div class='cabecera_planilla row'> <div class='col-sm-3 col-xs-2'> <img src='milfs/images/secure/?file=150/$imagen[0]' class='img img_planilla'> </div> <div class=''col-xs-10> <h1>$razon_social[0] <small>$slogan[0]</small></h1> <h2>$nombre_formulario[0] <small>$descripcion_formulario[0]</small></h2> </div> </div>"; $titulos="<th></th>$titulo"; }else {$cabecera=''; $titulos=""; } $fila=1; while( $row = mysqli_fetch_array( $sql ) ) { if($fila % $registros == 0) {$separador="</table>$pie<div class='saltopagina'></div>$cabecera<table class='table table-bordered table-striped exportable'><thead><th></th>$titulo</thead>";} else {$separador="";} $linea = formulario_imprimir_linea("$id","$row[control]","linea_planilla"); $despliegue .= "<tr><td><small>$fila</small></td>$linea</tr> $separador"; //formulario_imprimir_linea("$row[form_id]","$row[control]") $fila++; } $tabla= "$cabecera <table class='table table-bordered table-striped exportable'><thead>$titulos</thead><tbody>$despliegue</tbody></table>$pie"; return "<div class='container-fluid'>$tabla</div> <script type='text/javascript'> $('.exportable').DataTable( { dom: 'Bfrtip', pageLength:$registros, buttons: [ 'copy', 'excel', 'csv','print' ] } ); </script>"; } function equipos($clave,$proyecto,$name,$div) { $resultado=""; $respuesta = new xajaxResponse('utf-8'); if($div !="") { if($clave=="") { $respuesta->addAssign("$div","innerHTML",""); return $respuesta; } require("includes/datos.php"); // require ("includes/parametrizacion.php"); $consulta = "SELECT * FROM `$tabla_autenticacion` WHERE `id_empresa` = '$proyecto' AND equipo REGEXP '^$clave' GROUP BY equipo ORDER BY equipo "; $resultado ="<div style='background-color:white; max-height: 300px;'><ul class='list-group'>"; $link=Conectarse(); mysqli_set_charset($link, "utf8"); $sql=mysqli_query($link,$consulta); if (mysqli_num_rows($sql)!=0){ while( $row = mysqli_fetch_array( $sql ) ) { $resultado .="<li class='list-group-item'><a onclick=\"document.getElementById('$name').value='$row[equipo]'; xajax_equipos('',$proyecto,'$name','div_$name');\">$row[equipo]</a></li>"; }} $resultado .="</ul></div>"; $respuesta->addAssign("$div","innerHTML","$resultado"); } else{ $resultado ="<input value='' type='text' id='$name' name='$name' placeholder='$name' class='form-control' onkeyup=\"xajax_equipos(this.value,$proyecto,'$name','div_$name') \" > "; return $resultado; } return $respuesta; } $xajax->registerFunction("equipos"); function cambiar_propiedades($div,$clave,$valor) { $respuesta = new xajaxResponse('utf-8'); if($clave !="") { $respuesta->addAssign("$div","$clave"," $valor");} else{$respuesta->addAssign($div,"style.top","0px"); $respuesta->addAssign($div,"style.height","100%");} //$respuesta->addAssign("$div","innerHTML","$resultado"); return $respuesta; } $xajax->registerFunction("cambiar_propiedades"); function galleria($id){ $contenido =""; $link=Conectarse(); $campo_nombre ="1665"; $campo_coleccion ="1666"; $campo_autor ="1667"; $campo_licencia ="175"; $campo_imagen = buscar_campo_tipo("$id","15"); $consulta_principal = "SELECT control,id,form_id FROM form_datos WHERE form_id = '$id' GROUP BY form_datos.control limit 200"; mysqli_set_charset($link, "utf8"); mysqli_real_escape_string($link,$consulta_principal); $sql_total=mysqli_query($link,$consulta_principal); $sql=mysqli_query($link,$consulta_principal); mysqli_data_seek($sql_total, 0); while( $row = mysqli_fetch_array( $sql ) ) { ; $imagen = remplacetas('form_datos','id_campo',$campo_imagen[0],'contenido'," control = '$row[control]' ") ; $titulo = remplacetas('form_datos','id_campo',$campo_nombre,'contenido'," control = '$row[control]' ") ; $proyecto = remplacetas('form_datos','id_campo',$campo_proyecto,'contenido'," control = '$row[control]' ") ; $autor = remplacetas('form_datos','id_campo',$campo_autor,'contenido'," control = '$row[control]' ") ; $licencia = remplacetas('form_datos','id_campo',$campo_licencia,'contenido'," control = '$row[control]' ") ; $imagen = "../milfs/images/secure/?file=150/$imagen[0]"; $url ="$_SESSION[site]milfs/images/secure/?file=150/$imagen[0]"; //$respuesta->addAssign("$div","$className"," input-group has-error ");} $contenido .= " <style> .item-galeria{ position: absolute; bottom:0px; color:#fff; background-color:#000; padding:2px ; opacity:0.5; height: 50px; overflow:hidden; width:190px; z-index:20; word-wrap: break-word; -webkit-transition: height 2s, bottom 1s; /* Safari */ transition: height 2s, bottom 2s; } .item-galeria-over{ position: absolute; top:0px; color:#fff; height: 100%; background-color:#000000; padding:2px ; opacity:0.8; width:190px; z-index:20; word-wrap: break-word; -webkit-transition: height 2s, top 2s; /* Safari */ transition: height 2s, top 2s; } </style> <div style=' display: table-cell; position: relative; margin: 10px; float: left; padding: 5px; background-color: grey; height: 200px; width: 200px; z-index:10;' onmouseenter=\"xajax_cambiar_propiedades('div_titulo_$row[control]','className','item-galeria-over'); \" onmouseleave=\"xajax_cambiar_propiedades('div_titulo_$row[control]','className','item-galeria'); \" ><img class='img img-responsive' src='$imagen'> <div id='div_titulo_$row[control]' style='' class='item-galeria'> <ul class='list-unstyled'> <li class=''>$titulo[0]</li> <li>Autor: $autor[0]</li> <li>Licencia: $licencia[0]</li> <input class='form-control' value='$url' onmouseenter='select()'> </ul> </div> </div>"; } $resultado=" <div class='container' style=' display: table;'>$contenido</div>"; return $resultado; } function json_tabla($contenido,$campo,$control){ $datos = json_decode($contenido, true); foreach ($datos as $id_campo => $valor) { $campo_tipo = remplacetas('form_campos','id',"$campo",'campo_tipo',"") ; if($campo_tipo[0] =="31") { $link_url = "$_SESSION[site]milfs/archivos/?archivo=".$valor; $ext = explode(".", $valor); $ext = strtolower($ext[count($ext) - 1]); if($ext=='jpg' or $ext=='png' or $ext=='gif' or $ext=='jpeg') { $valor="<img src='$link_url' alt='$valor' class='imagen_multiple_$campo img img-responsive'>"; }else{$valor="<a class='link_multiple_$campo' href='$link_url' >$valor</a>"; } } $linea .= "<div class='div_$campo' >$valor</div>"; if(is_array($valor)) { foreach ($valor as $c => $v) { $linea .= "<div class='div_$campo' >$v</div>"; } } } $resultado=" <div class='container-fluid container_$campo_$control'>$linea $campo_tipo[0]</div> "; return $resultado; } function json_render($contenido,$tipo,$control){ //$contenido = stripcslashes($contenido); $campos = "$tipo,$contenido"; $linea=""; $datos = json_decode($contenido, true); if ($tipo == "html"){ foreach ($datos as $id_campo => $valor) { // $linea .= "<tr><td>$id_campo $valor</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) { if(is_array($v)){ $linea.="";}else{ $linea .= "<tr class='tr_json_render'><td class='td_json_render'>$v v</td></tr>"; } if(is_array($v)){ foreach ($v as $c1 => $v1) { $linea .= "<tr class='tr_json_render'><td class='td_array_json_render'>$v1</td></tr>"; }} } } $resultado=" <table class='table table-striped table_json_render table-bordered' id='tabla_$control' > <tr class='tr_json_render_titulos'><th>$campo_nombre[0]</th></tr> $linea </table> "; return $resultado; } elseif($tipo == "csv") { 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 .= " $v1,"; } } } $resultado = trim($linea,",").""; } elseif($tipo == "array") { $array= array(); foreach ($datos as $id_campo => $valor) { foreach ($valor as $c => $v) { foreach ($v as $c1 => $v1) { $array[]= "$v1"; } } } $resultado = $array; } else{ } return $resultado; } function exportar_svg($formulario) { $linea=""; if($formulario !=""){ $estructura = "$_SESSION[path]/tmp/$formulario/svg/"; if (!file_exists($estructura)) { if(!mkdir($estructura, 0775, true)) { die("Fallo al crear las carpetas... $estructura"); } //$archivo = "milfs/tmp/$nombre"; $impresion ="Esto es"; $consulta_principal = "SELECT control,id,form_id FROM form_datos WHERE form_id = '$formulario' GROUP BY form_datos.control "; $link=Conectarse(); mysqli_set_charset($link, "utf8"); mysqli_real_escape_string($link,$consulta_principal); $sql_total=mysqli_query($link,$consulta_principal); $sql=mysqli_query($link,$consulta_principal); mysqli_data_seek($sql_total, 0); while( $row = mysqli_fetch_array( $sql ) ) { $campo_titulo = remplacetas('form_parametrizacion','campo',$formulario,'descripcion'," tabla='form_id' and opcion = 'titulo'") ; $id_campo = $campo_titulo[0]; $titulo = remplacetas('form_datos','id_campo',$campo_titulo[0],'contenido'," control = '$row[control]' ") ; // if (!is_array($listado_campos)){$listado_campos="<td >$listado_campos</td>";}else {$listado_campos=$listado_campos;} $linea .= landingpage_contenido_identificador("$row[control]","$formulario","svg",'paginado'); $impresion = landingpage_contenido_identificador("$row[control]","$formulario","svg",'paginado'); $impresion = str_replace("'", '"', $impresion); $impresion = str_replace('@"', "'", $impresion); $encabezado = '<?xml version="1.0" encoding="UTF-8" standalone="no"?> <svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 744.09448819 1052.3622047" id="svg'.$formulario.'" version="1.1"> <defs id="def_'.$formulario.'"> <clipPath clipPathUnits="userSpaceOnUse" id="clipPath'.$formulario.'"> </clipPath> </defs> <metadata id="metadata'.$formulario.'"> <rdf:RDF> <cc:Work rdf:about=""> <dc:format>image/svg+xml</dc:format> <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> <dc:title></dc:title> </cc:Work> </rdf:RDF> </metadata> '; $pie="</svg>"; //$linea .= mostrar_identificador("$row[control]","$id_form","landingpage",'simple');; //$linea .= "<br>$row[control]"; $archivo = $estructura."$titulo[0]"."_$row[control]".".svg"; $file=fopen($archivo,"w") or die("Problemas en la creacion $archivo"); $impresion = $encabezado.$impresion.$pie; fputs($file,$impresion); fclose($file); } } echo $linea; //$file = fopen($filePath, 'w'); } } function filtro_opciones_campo($id_campo,$formulario){ $opciones = ""; $consulta = "SELECT * FROM `form_campos_valores` WHERE `id_form_campo` = '$id_campo'"; $link=Conectarse(); mysqli_set_charset($link, "utf8"); $sql=mysqli_query($link,$consulta); if (mysqli_num_rows($sql)!=0){ while( $row = mysqli_fetch_array( $sql ) ) { $opciones .=" <li><a onclick=\"document.getElementById('filtro_$id_campo').value='$row[campo_valor]'; xajax_filtro_generico_buscar(xajax.getFormValues('formulario_filtro_$formulario'),'$formulario');\" >$row[campo_valor]</a></li> "; } $opciones =" <li><a onclick=\"document.getElementById('filtro_$id_campo').value=''; xajax_filtro_generico_buscar(xajax.getFormValues('formulario_filtro_$formulario'),'$formulario');\" >Limpiar</a></li> $opciones "; } return $opciones; } function filtro_generico_buscar($formulario,$id){ $div ="mostrar_resultado"; $resultado .=""; foreach ($formulario as $clave => $valor) { if($valor !=""){ $campo = str_replace("filtro_", "", "$clave"); $resultado = " id_campo = $campo AND contenido = '$valor' "; $campos[] = $resultado; } } $campos = implode(" AND ",$campos); $consulta ="SELECT * FROM form_datos WHERE form_id ='$id' AND $campos GROUP BY control"; $resultado = "$consulta"; $respuesta = new xajaxResponse('utf-8'); $respuesta->addAssign("$div","innerHTML","$resultado"); return $respuesta; } $xajax->registerFunction("filtro_generico_buscar"); function filtro_generico($formulario,$tipo){ $filtro=""; $consulta= " SELECT campo_nombre,tipo_campo_nombre ,campo_tipo ,id_campo FROM `form_contenido_campos` , form_campos , form_tipo_campo WHERE form_contenido_campos.id_campo = form_campos.id AND form_tipo_campo.id_tipo_campo= form_campos.campo_tipo AND `id_form` = '$formulario' AND (`campo_tipo` = 8 OR `campo_tipo` = 16 OR `campo_tipo` = 24 OR `campo_tipo` = 25 OR `campo_tipo` = 10) group by form_contenido_campos.id ORDER BY form_contenido_campos.orden "; $link=Conectarse(); mysqli_set_charset($link, "utf8"); $sql=mysqli_query($link,$consulta); if (mysqli_num_rows($sql)!=0){ while( $row = mysqli_fetch_array( $sql ) ) { $listado = filtro_opciones_campo($row[id_campo],$formulario); $filtro .=" <div class='dropdown' style='display:inline'> <button class='btn btn-default dropdown-toggle' type='button' id='drown_$tabla' data-toggle='dropdown' aria-haspopup='true' aria-expanded='true'> $row[campo_nombre] <span class='caret'></span> </button> <ul class='dropdown-menu' aria-labelledby='drown_$tabla'> $listado </ul> <input class='form-control' id='filtro_$row[id_campo]' name ='filtro_$row[id_campo]'> </div> "; } $filtro = " <form autocomplete='off' id='formulario_filtro_$formulario' name ='formulario_filtro_$formulario' > $filtro </form>"; } return $filtro; } function formulario_tabla_temporal($id){ $lineas=""; $campos_insertar=array(); $link=Conectarse(); mysqli_set_charset($link, "utf8"); /// LISTADO DE CAMPOS PARAMETRIZADO POR ID /// $consulta_campos = "SELECT id_campo FROM `form_datos` , form_campos , form_tipo_campo WHERE form_datos.id_campo = form_campos.id AND form_tipo_campo.id_tipo_campo= form_campos.campo_tipo AND `form_id` = '$id' AND (`campo_tipo` = 8 OR `campo_tipo` = 16 OR `campo_tipo` = 24 OR `campo_tipo` = 25 OR `campo_tipo` = 10) GROUP BY id_campo ORDER BY id_campo"; $sql=mysqli_query($link,$consulta_campos); ; if (mysqli_num_rows($sql)!='0'){ while( $row = mysqli_fetch_array( $sql ) ) { $campos[] = " campo_$row[id_campo] longtext "; $id_campos[] = "$row[id_campo]"; } $campos[] = "control longtext"; } /// ENTRADAS QUE TIENEN VALORES EN ESOS CAMPOS $consulta_contenido = "SELECT id_campo ,contenido,control FROM `form_datos` , form_campos , form_tipo_campo WHERE form_datos.id_campo = form_campos.id AND form_tipo_campo.id_tipo_campo= form_campos.campo_tipo AND `form_id` = '$id' AND (`campo_tipo` = 8 OR `campo_tipo` = 16 OR `campo_tipo` = 24 OR `campo_tipo` = 25 OR `campo_tipo` = 10) GROUP BY control "; $sql_contenido=mysqli_query($link,$consulta_contenido); if (mysqli_num_rows($sql_contenido)!='0'){ while( $row_contenido = mysqli_fetch_array( $sql_contenido ) ) { $los_campos=""; $campos_insertar=[]; foreach($id_campos as $campo_nombre){ $contenido = remplacetas('form_datos','form_id',"$id",'contenido'," id_campo ='$campo_nombre' and control ='$row_contenido[control]' ") ; $los_campos .= "<td>$campo_nombre $contenido[0]</td>"; $campos_insertar[] ="campo_$campo_nombre ='$contenido[0]'"; } $campos_insertar[] ="control ='$row_contenido[control]'"; $lineas .= "<tr><td>$row_contenido[control] </td>$los_campos //</tr>"; $insertar_campos= implode(",",$campos_insertar); $insert[] = "INSERT INTO temporal_6 SET $insertar_campos "; } } $campos= implode(",",$campos); $insert= implode(";",$insert); $crear = "CREATE TABLE IF NOT EXISTS temporal_$id ($campos)"; $consultar= "SELECT * FROM temporal_$id"; $query = "$crear ; $insert"; //$tabla_temporal=mysqli_query($link," $crear ; $insertar"); $tabla_temporal=mysqli_multi_query($link, $query); //$insert_temporal=mysqli_query($link,"$insertar"); return ;//" // <h1>$tabla_temporal</h1> ** $crear ; $insert ; $consultar ; * <table>$lineas</table> // "; } function formulario_estadistica_ocultar($id_form,$id_campo,$accion,$tipo) { // $etiqueta_limpia = str_replace(array(' '), '', $etiqueta); $etiqueta=""; $div="div_manejo_$etiqueta";if($accion=='') { if(isset($_SESSION['id']) AND $_SESSION['id'] == 1){ $resultado=" <div class='input-group'> <div id='$div' onclick= \"xajax_formulario_estadistica_ocultar('$id_form','$id_campo','eliminar','$tipo'); \"; class='btn btn-xs btn-danger' title='Elimine esta gráfica si no es relevante'>Eliminar gráfica</div> </div> "; }else {$resultado="";} return $resultado; }elseif($accion =="eliminar") { $borrar= parametrizacion_linea("$tipo","$id_form",'ocultar',"$id_campo",'','',"$id_campo"); //$resultado="<span class='disabled'>$id_campo $borrar</span>"; $div="contenedor_grafica_$tipo_$id_campo"; }else{} $respuesta = new xajaxResponse('utf-8'); $respuesta->addAssign("$div","innerHTML","$resultado"); return $respuesta; } $xajax->registerFunction("formulario_estadistica_ocultar"); function formulario_estadistica($id_form,$id_campo,$group,$tipo){ $lineas=""; $datas=""; $etiquetas=""; $colores=""; $etiqueta=""; $mostrar = remplacetas("form_parametrizacion",'item',"$id_campo",'descripcion',"opcion = 'ocultar' AND tabla = '$tipo'") ; if($mostrar[0] !="") { $contenido =""; return $contenido; } $consulta = "SELECT count(control) as cantidad , id_campo ,contenido , campo_nombre FROM `form_datos`, `form_campos` WHERE `form_datos`.id_campo = `form_campos`.id AND `id_campo` = '$id_campo' AND `form_id` = '$id_form' GROUP BY $group order by cantidad"; $link=Conectarse(); mysqli_set_charset($link, "utf8"); $sql=mysqli_query($link,$consulta); if (mysqli_num_rows($sql)!='0'){ while( $row = mysqli_fetch_array( $sql ) ) { $dato[] =$row; $lineas .="<tr><td>$row[cantidad]</td><td>$row[contenido]</td><td></td></tr>"; $datas .="'$row[cantidad]',"; $etiquetas .="'".html_entity_decode($row['contenido'])." $row[campo_nombre] ($row[cantidad]) ',"; $colores .= "'#".substr(md5(rand()), 0, 6)."',"; } $datos= json_encode($dato); $data = "[".substr ($datas, 0, -1)."]"; $etiqueta = "[".substr (preg_replace("[\n|\r|\n\r|\t]",'', $etiquetas), 0, -1)."]"; $color = "[".substr ($colores, 0, -1)."]"; $data_grafica= " datasets: [{ data: $data , backgroundColor: $color, label: '' }], labels: $etiqueta "; $resultado =" <table class='table'> <tr><td>$row[cantidad]</td><td>$row[contenido]</td><td></td></tr> $lineas </table> "; $manejo_grafica = formulario_estadistica_ocultar("$id_form","$id_campo","","$tipo"); $grafica =" <div id='contenedor_grafica_$tipo_$id_campo' > <div id='canvas-holder_$tipo_$id_campo' style='width:100px;'> <canvas id='chart-area_$tipo_$id_campo' /> </div> </div> <script> window.onload = mostrar('bar'); function mostrar(tipo) { var config = { type:tipo, data: { $data_grafica }, options: { responsive: true, scales: { xAxes: [{display: false}]}, legend: { display: false }, tooltips: { callbacks: { label: function(tooltipItem, data) { var label = data.labels[tooltipItem.index].label; return label; }}} } }; var ctx = document.getElementById('chart-area_$tipo_$id_campo').getContext('2d'); window.myPie = new Chart(ctx, config ); } </script> "; }else {// $grafica= $consulta; } return $grafica; } function formulario_acciones($id,$tipo) { // $areas = resumen_identificador("$row[control]",'','','boton'); $geo = buscar_campo_tipo("$id","14"); // $buscador = buscar_datos("*formato*","$id","grid","mostrar_contenido_buscador"); if($geo[0] !='') { $mapa_aplicacion= "<li class=''><a title='Mapa' class='btn btn-info navbar-btn ' href='#/mapa' ><i class='fa fa-map-o' aria-hidden='true'></i></a></li>"; $mapa= "<a class='btn btn-info btn_aplicacion_mapa navbar-btn ' target='mapa' href='mapero.php?id=$id' target='mapa'>Mapa</a> <a class='btn btn-info btn_aplicacion_gjson' target='mapa' href='milfs/geojson.php?id=$id' target='mapa'>{GEOJson}</a> ";}else {$mapa='';} $publico = remplacetas('form_id','id',"$id",'modificable',"") ; $propietario = remplacetas('form_id','id',$id,'id_empresa',"") ; // $propietario = remplacetas('usuarios','id',$propietario[0],'email',"") ; if($publico[0] !="0" OR $_SESSION["id_empresa"] =="$propietario[0]") { $agregar = "<li class=''><a href='#' class='btn btn-info navbar-btn ' title='Agregar' onclick =\"xajax_formulario_embebido_ajax('','$id','','nuevo');\"><i class='fa fa-plus-square-o'></i></a>"; $camara = " <li> <a onclick=\"parent.location='#galeria'\" href='#' class='btn btn-info dropdown-toggle navbar-btn ' data-toggle='dropdown' aria-expanded='false'> <i class='fa fa-picture-o' aria-hidden='true'></i> </a> <ul class='dropdown-menu drop-up dropdown-menu-right' role='menu'> <li class='list-group-item' title='' data-toggle='tooltip' data-placement='auto' data-html='true' data-original-title='Toma una foto'> <a href='#galeria' class=' navbar-btn ' onclick =\"xajax_formulario_embebido_ajax('','$id','','nuevo');\"> <h1> <i class='fa fa-plus fa-6' aria-hidden='true'></i> <i class='fa fa-camera-retro fa-6' aria-hidden='true'></i> </h1> </a> </li> </ul> </li> "; }else{ $camara= " <li > <a title='Galería' class='btn btn-info btn_aplicacion_galeria navbar-btn ' href='#galeria' > <i class='fa fa-picture-o' aria-hidden='true'></i> </a> </li>"; } $campo_imagen = buscar_campo_tipo($id,"15"); $id_campo = $campo_imagen[0]; if($id_campo[0] =="") { $galeria_aplicacion=""; }else{ $galeria_aplicacion= "$camara"; } if($tipo=="") { $acciones="<div class='btn-group btn-group-justified hidden-xs' > <a class='btn btn-danger ' target='api' href='$_SESSION[site]/milfs/api.php?id=$id'> {json}</a> <a class='btn btn-danger ' target='api' href='$_SESSION[site]/milfs/api.php?id=$id&tipo=simple'> {json simple}</a> <a class='btn btn-danger ' target='api' href='milfs/geojson.php?id=$id'>{GEOJson}</a></a> <a class='btn btn-info ' target='api' href='mapero.php?id=$id'>Mapa</a> <a class='btn btn-info ' target='api' href='$_SESSION[site]b$id?registros=10'>Mostrar</a> <a class='btn btn-info ' target='api' href='$_SESSION[site]f$id?registros=10'>Llenar</a> <a class='btn btn-info ' target='api' href='$_SESSION[site]g$id'>Embeber</a> <a class='btn btn-info ' target='api' href='$_SESSION[site]opendata.php?tipo=documento&id=$id'>Doc</a> <a class='btn btn-info ' target='api' href='$_SESSION[site]l$id'>Informe</a> <a class='btn btn-info ' target='api' href='$_SESSION[site]opendata.php?tipo=svg&id=$id'>SVG</a> </div> <div class='btn-group visible-xs' > <button type='button' class='btn btn-info'>Opciones de la API</button> <button type='button' class='btn btn-info dropdown-toggle' data-toggle='dropdown'> <span class='caret'></span> </button> <ul class='dropdown-menu' role='menu'> <li><a target='api' href='$_SESSION[site]/milfs/api.php?id=$id'> {json}</a></li> <li><a target='api' href='$_SESSION[site]/milfs/api.php?id=$id&tipo=simple'> {json simple}</a></li> <li><a target='api' href='milfs/geojson.php?id=$id'>{GEOJson}</a></a></li> <li><a target='api' href='mapero.php?id=$id'>Mapa</a></li> <li><a target='api' href='$_SESSION[site]b$id?registros=10'>Mostrar</a></li> <li><a target='api' href='$_SESSION[site]f$id?registros=10'>Llenar</a></li> <li><a target='api' href='$_SESSION[site]g$id'>Embeber</a></li> <li><a target='api' href='$_SESSION[site]opendata.php?tipo=documento&id=$id'>Doc</a></li> <li><a target='api' href='$_SESSION[site]l$id'>Informe</a></li> <li><a target='api' href='$_SESSION[site]opendata.php?tipo=svg&id=$id'>SVG</a></li> </ul> </div>"; } elseif($tipo=="aplicacion"){ $acciones=" <li class=' '><a title='Inicio' class='btn btn-info navbar-btn btn_aplicacion_home' href='e$propietario[0]?home' ><i class='fa fa-home' aria-hidden='true'></i></a></li> <li class=' '><a title='Inicio' class='btn btn-info navbar-btn btn_aplicacion_home' href='#inicio' ><i class='fa fa-info-circle' aria-hidden='true'></i></a></li> <li class=''><a title='Listado' class='btn btn-info navbar-btn btn_aplicacion_listado' href='#listado' ><i class='fa fa-list' aria-hidden='true'></i></a></li> $mapa_aplicacion $galeria_aplicacion <li class=' '><a title='Estadisticas' class='btn navbar-btn btn-info btn_aplicacion_estadisticas' href='#/estadisticas' ><i class='fa fa-area-chart' aria-hidden='true'></i></a></li> <li class=' '><a onclick =\"xajax_compartir('$id',''); \" title='Compartir' class=' navbar-btn btn btn-info btn_aplicacion_compartir' href='#compartir' ><i class='fa fa-share-alt' aria-hidden='true'></i></a></li> $agregar <li class=' '><a href='#' onclick=\"imprimir_registros() \";title='Imprimir' class=' navbar-btn btn btn-info btn_aplicacion_imprimir' href='#' ><i class='fa fa-print' aria-hidden='true'></i></a></li> <li class=' '><a onclick =\"javascript:location.reload(true) \" title='Actualizar' class=' navbar-btn btn btn-info btn_aplicacion_reload' href='#' ><i class='fa fa-refresh' aria-hidden='true'></i></a></li> <script> function imprimir_registros() { var cantidad; var registros = prompt('Cuantos registros desea imprimir en cada página?', '5'); if (registros == null || cantidad == '') { alert('La impresión se ha cancelado !'); } else { alert('Un momento por favor: se imprimirán '+registros+' registros por página'); window.open(\"p$id?registros=\" + registros + \"&print\", 'impresion'); } } </script>"; } else{ } return $acciones; } function compartir($id,$control) { $respuesta = new xajaxResponse('utf-8'); $titulo = remplacetas('form_id','id',$id,'nombre',"") ; $descripcion = remplacetas('form_id','id',$id,'descripcion',"") ; if($control=="") { $url ="$_SESSION[site]a$id"; $empresa = remplacetas('form_id','id',$id,'id_empresa',"") ; $id_empresa=$empresa[0]; $impresion = strip_tags($descripcion[0]); //$impresion= str_replace('\t', '', $impresion); $impresion = preg_replace("[\n|\r|\n\r|\t]",'', $impresion); $twitter = substr($impresion,0, $length = 110); $caracteres = strlen("$impresion"); if($caracteres > 110) { $twitter .= "..."; } $razon_social = remplacetas('empresa','id',"$id_empresa",'razon_social','') ; $slogan = remplacetas('empresa','id',"$id_empresa",'slogan','') ; $web = remplacetas('empresa','id',"$id_empresa",'web',''); $logo = remplacetas('empresa','id',"$id_empresa",'imagen','') ; $size="50px"; $resultado=" <div class='row text-center' role='row ' > <div class='col-md-2'> <h1>Compartir:</h1> </div> <div class='col-md-1'> <a class='btn btn-success btn-block' href='$url' target='_blank'><i class='fa fa-share-alt fa-6' aria-hidden='true' style=' font-size: $size !important;'></i></a> </div> <div class='col-md-1'> <a target='redes' class='btn btn-success btn-block' href='http://twitter.com/share?url=$url&text=$twitter'><i class='fa fa-twitter fa-6' style=' font-size: $size !important;'></i></a> </div> <div class='col-md-1'> <a target='redes' class='btn btn-success btn-block' href='https://www.facebook.com/sharer/sharer.php?u=$url'><i class='fa fa-facebook-official fa-6' style=' font-size: $size !important;'></i></a> </div> <div class='col-md-1'> <a target='redes' class='btn btn-success btn-block' href='mailto://?subject=$titulo[0]&body=$impresion $url '><i class='fa fa-envelope-o fa-6' style=' font-size: $size !important;'></i></a> </div> <div class='col-md-1'> <a target='redes' class='btn btn-success btn-block' href=\"javascript:window.open('https://t.me/share/url?url='+encodeURIComponent(window.location.href), '_blank')\" data-action=''><i class='fa fa-telegram' aria-hidden='true' style=' font-size: $size !important;'></i></a> </div> <div class='col-md-1'> <a target='redes' class='btn btn-success btn-block' href='whatsapp://send?text=$url' data-action='share/whatsapp/share'><i class='fa fa-whatsapp' aria-hidden='true' style=' font-size: $size !important;'></i></a> </div> <div class='col-md-1'> <a class='btn btn-success btn-block' href='https://qwerty.co/qr/?d=$url' target='_blank'><img src='https://qwerty.co/qr/?d=$url' style=' height: $size !important;'></a> </div> </div> "; } $encabezado ="<h1>$titulo[0]<small>$descripcion[0]</small></h1>"; $respuesta->addAssign("muestra_form","innerHTML","$resultado"); $respuesta->addAssign("titulo_modal","innerHTML","$encabezado"); //$respuesta->addAssign("titulo_modal","innerHTML","$datos_usuario"); //$respuesta->addAssign("pie_modal","innerHTML","$pie"); $respuesta->addscript("$('#muestraInfo').removeClass('fade').modal('hide')"); $respuesta->addscript("$('#muestraInfo').modal('toggle')"); return $respuesta; } $xajax->registerFunction("compartir"); function portal_filtro_campos_drop($formulario,$id_campo,$div,$plantilla){ $listado=""; $tabla=""; if($id_campo =="") { $campo_titulo = remplacetas('form_parametrizacion','campo',$formulario,'descripcion'," tabla='form_id' and opcion = 'titulo'") ; $id_campo = $campo_titulo[0]; if($id_campo =="") { $resultado = ""; return $resultado;} } $tipo_campo = remplacetas('form_campos','id',"$id_campo",'campo_tipo',"") ; if($tipo_campo[0] =="10" ) {$tipo ="relacion";} elseif($tipo_campo[0] =="6" ) {$tipo ="buscador";} else{$tipo ="";} /// $valor_actual = relacion_render("$id","$row[id_campo]",$contenido,'5'); $formulario_descripcion = remplacetas('form_id','id',"$formulario",'descripcion',"") ; $formulario_nombre = remplacetas('form_id','id',"$formulario",'nombre',"") ; $campo_nombre = remplacetas('form_campos','id',"$id_campo",'campo_nombre',"") ; $campo_descripcion = remplacetas('form_campos','id',"$id_campo",'campo_descripcion',"") ; $consulta ="SELECT * FROM form_campos ,form_datos WHERE form_datos.form_id = '$formulario' AND form_campos.id = form_datos.id_campo AND form_datos.id_campo = '$id_campo' GROUP BY contenido ORDER BY contenido"; $link=Conectarse(); mysqli_set_charset($link, "utf8"); $sql=mysqli_query($link,$consulta); if (mysqli_num_rows($sql)!=0){ while( $row = mysqli_fetch_array( $sql ) ) { if($tipo =='relacion') { ///($form_id,$id_campo,$valor,$cantidad) $valor_actual = relacion_render("$formulario","$id_campo","$row[contenido]",'0','relacion_drop'); } elseif($tipo =='buscador') { ///($form_id,$id_campo,$valor,$cantidad) $valor_actual = imprimir_buscador_campo("$id_campo","$row[contenido]",'buscador_drop'); //imprimir_buscador_campo($id_campo,$valor,$plantilla) } else { $valor_actual="$row[contenido]"; } $listado .= "<li > <a class='btn btn-link' onclick=\"xajax_portal_filtro_cadena('$formulario','$id_campo','$row[control]','$div','$plantilla') \" >$valor_actual </a> </li>"; //onclick="xajax_portal_filtro_cadena('74','566','eab23a3e8e815f46a371a43ba9abc9ea','mostrar_resultado','landingpage') " } } /*$resultado =" <div class='input-group'> <span class='input-group-addon'>Filtro <i class='glyphicon glyphicon-filter'></i> </span> $resultado </div>"; */ $resultado=" <div class='dropdown'> <button class='col-xs-12 col-sm-12 btn btn-default dropdown-toggle' type='button' id='drown_$tabla' data-toggle='dropdown' aria-haspopup='true' aria-expanded='true'> Filtro $campo_nombre[0] <i class='glyphicon glyphicon-filter'></i> <span class='caret'></span> </button> <ul class='menu_tupale dropdown-menu' aria-labelledby='drown_$tabla'> $listado </ul> </div> "; return $resultado; } function drop($tabla,$value,$descripcion,$onchange,$where,$nombre){ $group =""; @$valor=$valor; @$value =$value; $link=Conectarse(); $campos = explode(",",$descripcion); @$campo1 = $campos[0]; @$campo2 = $campos[1]; $lis=""; mysqli_set_charset($link, "utf8"); $consulta = "SELECT *,$value, $descripcion FROM $tabla WHERE 1 $group ORDER BY $campo1 "; $sql=mysqli_query($link,$consulta); if (mysqli_num_rows($sql)!='0'){ while( $row = mysqli_fetch_array( $sql ) ) { if($row[$value]=="") {$resultado.="";}else{ $mostrar_id = "[$row[$value]]"; $lis.= "<li><a href='$onchange=$row[$value]'> ".substr(@$row[$campo1], 0, 150 )." ".substr(@$row[$campo2], 0, 30 )." $mostrar_id <img class='img img-rounded' src='milfs/images/secure/?file=150/$row[imagen]' style='max-height:30px;'> </a></li>"; } } $resultado=" <div class='dropdown' id='drown_proyecto'> <button class='btn btn-success btn-block dropdown-toggle' type='button' id='drown_$tabla' data-toggle='dropdown' aria-haspopup='true' aria-expanded='true'> $nombre <span class='caret'></span> </button> <ul class='dropdown-menu' aria-labelledby='drown_$tabla'> $lis </ul> </div> "; } else{ $resultado = "<div class='alert alert-warning alert_sin_resultados'><i class='glyphicon glyphicon-exclamation-triangle'></i> No hay resultados 0019</div>"; } return $resultado; } function contenido_presentacion($id){ $imagen =""; $acciones =""; $busca =""; $busqueda =""; $fechas =""; $campo =""; $campo_filtro =""; $lineas =""; $linea =""; $formato =""; $href_4=""; $href_5=""; $listado_nombres =""; if(isset($_REQUEST['orden'])) { $orden= "$_REQUEST[orden]";} if(isset($_REQUEST['registros'])) { $registros= "$_REQUEST[registros]";} if(isset($_REQUEST['pagina'])) { $pagina= "$_REQUEST[pagina]";} if(isset($_REQUEST['v'])) { $origen= "$_REQUEST[v]";} //$campo_orden = remplacetas('form_parametrizacion','campo',"$form",'descripcion'," tabla='form_id' and opcion = 'orden'") ; //$campo_orden = $campo_orden[0]; $descripcion = remplacetas('form_id','id',$id,'descripcion') ; $nombre = remplacetas('form_id','id',$id,'nombre') ; $respuesta = new xajaxResponse('utf-8'); $campo_titulo = remplacetas('form_parametrizacion','campo',$id,'descripcion'," tabla='form_id' and opcion = 'titulo'") ; if($campo_titulo[0] !='') {$w_campo = "AND id_campo = '$campo_titulo[0]'";} $campo_titulo = $campo_titulo[0]; $campo_orden = remplacetas('form_parametrizacion','campo',"$id",'descripcion'," tabla='form_id' and opcion = 'orden'") ; $campo_orden = $campo_orden[0]; if($orden == "" ) { $ordenar= "ORDER BY form_datos.id DESC ";} elseif($orden == "ASC" ) { $ordenar= "ORDER BY form_datos.id ASC "; } else{} if($campo_orden !="") { $consulta = " SELECT control,id,form_id,contenido FROM form_datos WHERE form_id = '$id' AND id_campo ='$campo_orden' GROUP BY form_datos.control ORDER BY CAST(contenido AS SIGNED ) $orden "; }else { $consulta ="SELECT *,GROUP_CONCAT(id ORDER by timestamp desc ) as identificador FROM form_datos WHERE form_id = '$id' $w_campo GROUP BY control $ordenar"; } //$consulta ="SELECT *,GROUP_CONCAT(id ORDER by timestamp desc ) as identificador FROM form_datos WHERE form_id = '$id' $w_campo GROUP BY control $ordenar"; $link=Conectarse(); $sql=mysqli_query($link,$consulta); if (mysqli_num_rows($sql)!='0'){ $control = mysqli_result($sql,0,control); //$contenido = "<ul class='dropdown-menu' role='menu'>"; mysqli_data_seek($sql, 0); $contenido = " "; while( $row = mysqli_fetch_array( $sql ) ) { //$orden = $orden+500; $identificador = explode(',',$row[identificador]); $identificador = $identificador[0]; $contenido_desplegado = contenido_mostrar("$row[form_id]","$row[control]",'','presentacion'); $contenido .= "$contenido_desplegado "; } $contenido = " $contenido "; }else{$contenido = "";} return $contenido; } $xajax->registerFunction("contenido_presentacion"); function formulario_contar_registros($id,$id_campo,$id_empresa,$clave) { $link=Conectarse(); mysqli_set_charset($link, "utf8"); if($id_empresa ==""){$empresa="";}else{$empresa ="AND id_empresa = '".mysqli_real_escape_string($link,$id_empresa)."'";} if($clave ==""){$clave="";}else{$clave ="AND contenido LIKE '%%".mysqli_real_escape_string($link,$clave)."%%'";} if($id_campo ==""){$w_id_campo="";}else{$w_id_campo ="AND id_campo = '".mysqli_real_escape_string($link,$id_campo)."' ";} $consulta ="SELECT distinct(contenido) FROM form_datos WHERE form_id = '".mysqli_real_escape_string($link,$id)."' $w_id_campo $empresa $clave "; $sql=mysqli_query($link,$consulta); if (mysqli_num_rows($sql)!='0'){ $resultado=mysqli_num_rows($sql); }else {$resultado =0;} return $resultado ; } function formulario_campo_semantico($cadena,$formulario,$tipo,$accion) { $link=Conectarse(); mysqli_set_charset($link, "utf8"); $consulta ="SELECT id_campo,campo_nombre,campo_descripcion FROM `form_campos` , form_contenido_campos WHERE form_campos.id = form_contenido_campos.id_campo AND form_contenido_campos.id_form ='".mysqli_real_escape_string($link,$formulario)."' AND campo_nombre LIKE '%%".mysqli_real_escape_string($link,$cadena)."%%' GROUP BY id_campo "; $consulta_todos ="SELECT id_campo,campo_nombre,campo_descripcion FROM `form_campos` , form_contenido_campos WHERE form_campos.id = form_contenido_campos.id_campo AND form_contenido_campos.id_form ='".mysqli_real_escape_string($link,$formulario)."' AND campo_nombre NOT LIKE '%%".mysqli_real_escape_string($link,$cadena)."%%' GROUP BY id_campo "; $sql=mysqli_query($link,$consulta_todos); if (mysqli_num_rows($sql)!='0'){ mysqli_data_seek($sql, 0); //$datos=array(); while( $row = mysqli_fetch_array( $sql ) ) { $lista.="<li class='list-group-item ' title='$row[campo_descripcion]'><input type='radio' value='$row[id_campo]' id='$cadena' name='$cadena' > $row[campo_nombre] </li>"; } } $sql=mysqli_query($link,$consulta); if (mysqli_num_rows($sql)!='0'){ mysqli_data_seek($sql, 0); //$datos=array(); while( $row = mysqli_fetch_array( $sql ) ) { $lista_todos.="<li class='list-group-item list-group-item-success' title='$row[campo_descripcion]'><input type='radio' value='$row[id_campo]' id='$cadena' name='$cadena' > $row[campo_nombre]</li>"; $id =$row['id_campo']; } } if($tipo=='preciso') { $resultado="$id"; }else{ $resultado="<ul class='item-list'>$lista_todos $lista </ul>"; } return $resultado ; } function marcar($mensaje,$div) { $respuesta = new xajaxResponse('utf-8'); $respuesta->addAssign("$div","innerHTML","$mensaje"); return $respuesta; } $xajax->registerFunction("marcar"); function mailer($accion,$formulario,$campo,$empresa){ if($_SESSION['id'] != 1) { return; } $respuesta = new xajaxResponse('utf-8'); $boton="<div class='btn btn-default' onclick=\"xajax_mailer('listado','','',''); \" >Listas de correo</div>"; if($accion=="") { return $boton; } $link=Conectarse(); mysqli_set_charset($link, "utf8"); if($accion =="listado") { $consulta =" SELECT form_id.id_empresa, razon_social, nombre AS nombre_formulario, descripcion AS descripcion_formulario, form_contenido_campos.id_form , form_contenido_campos.id_campo ,form_campos.campo_nombre FROM form_datos, empresa, `form_campos` , form_contenido_campos , form_id WHERE form_datos.id_campo = form_campos.id AND form_id.id_empresa = empresa.id AND`form_campos`.id = form_contenido_campos.id_campo AND form_contenido_campos.id_form = form_id.id AND ( campo_tipo ='12' OR campo_tipo ='13') GROUP BY form_id.id_empresa,form_contenido_campos.id_form , form_contenido_campos.id_campo ORDER BY razon_social,form_id.nombre "; $sql=mysqli_query($link,$consulta); if($sql){ if (mysqli_num_rows($sql)!='0'){ mysqli_data_seek($sql, 0); //$datos=array(); while( $row = mysqli_fetch_array( $sql ) ) { $cantidad = formulario_contar_registros("$row[id_form]","$row[id_campo]","$row[id_empresa]",""); $consulta_cantidad = $cantidad; if ($consulta_cantidad > 0 ){$cantidad = "<div class='btn btn-default btn-xs ' onclick=\"xajax_mailer('seleccion','$row[id_form]','$row[id_campo]','$row[id_empresa]'); \" > Enviar $cantidad <span class='glyphicon glyphicon-envelope' aria-hidden='true'></span></div>";} else{$cantidad ="";} $opciones .="<li class='list-group-item'>$row[razon_social] / <strong>$row[nombre_formulario]</strong> / $row[campo_nombre] $cantidad</li>"; } $resultado=" <ul class='list-group'> $opciones </ul> ";} else { $resultado="<span class='text-danger'>No hay datos</span>";} } } if($accion =="seleccion") { $consulta =" SELECT * FROM form_datos WHERE form_datos.id_campo = '".mysqli_real_escape_string($link,$campo)."' AND form_datos.id_empresa = '".mysqli_real_escape_string($link,$empresa)."' AND form_datos.form_id = '".mysqli_real_escape_string($link,$formulario)."' GROUP BY contenido ORDER BY contenido "; $sql=mysqli_query($link,$consulta); $cantidad_mensajes = mysqli_num_rows($sql); $listado_campos = formulario_campo_semantico("nombre","$formulario",'',''); $nombre_lista = remplacetas("form_id","id","$formulario","Nombre",""); $delay = 36; $tiempo= ($cantidad_mensajes * $delay); $email = remplacetas("empresa","id","$_SESSION[id_empresa]","email",""); $razon_social = remplacetas("empresa","id",$_SESSION['id_empresa'],"razon_social",""); $tiempo = conversorSegundosHoras($tiempo); $formato =" <div class='container' id='div_formato'> <form autocomplete='off' id='formato_mensaje' name='formato_mensaje'> <label>Seleccione un campo para el personalizar el nombre</label> <div style='max-height:150px; overflow:auto'>$listado_campos</div> <br> <div class='input-group'> <span class='input-group-addon'>Asunto:</span> <input class='form-control' id='asunto' name='asunto' placeholder='Asunto del mensaje'> </div> <br> <div class='row' role='row'> <div class='col-md-6'> <div class='input-group '> <span class='input-group-addon'>Correo de respuesta:</span> <input value='$email[0]' class='form-control' id='correo_respuesta' name='correo_respuesta' placeholder=''> </div> </div> <div class='col-md-6'> <div class='input-group '> <span class='input-group-addon'>Nombre de respuesta:</span> <input value='$razon_social[0]' class='form-control' id='nombre_respuesta' name='nombre_respuesta' placeholder=''> </div> </div> </div> <br> <div class='form-group'> <label for='mensaje'>Cuerpo del mensaje</label> <div href='#' id='edit' class='btn btn-default btn-xs' onclick=\"edit()\">Editor HTML</div> <textarea id='mensaje' name='mensaje' class='wysiwyg form-control' placeholder='Texto del mensaje'></textarea> </div> <input type='hidden' name='formulario' id='formulario' value='$formulario'> <input type='hidden' name='campo' id='campo' value='$campo'> <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>El envío tardará $tiempo aproximadamente, se le enviará un correo cuando haya 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> <div id='preview'></div> </div> <br> "; if($sql){ if (mysqli_num_rows($sql)!='0'){ mysqli_data_seek($sql, 0); $datos=array(); while( $row = mysqli_fetch_array( $sql ) ) { $validar_email = validar_email("$row[contenido]"); $div="$row[control]"; $opciones .="<li class='list-group-item'>$row[contenido] $validar_email $row[control] <div id='$div'></div></li>"; } $resultado=" <h3>$nombre_lista[0] [$formulario]</h3> $formato <ul class='list-group'> $opciones </ul> ";} else { $resultado="<span class='text-danger'>No hay datos</span>";} } } if($accion =="enviar" OR $accion =="preview" ) { $id_campo = $formulario['campo']; $id_empresa = $_SESSION['id_empresa']; $campo_nombre = $formulario['nombre']; $nombre_respuesta= $formulario['nombre_respuesta']; $email_respuesta= $formulario['correo_respuesta']; $campo_nombre = $formulario['nombre']; $email = remplacetas("empresa","id","1","email",""); $razon_social = remplacetas("empresa","id",$id_empresa,"razon_social",""); $id_formulario = $formulario['formulario']; $asunto = $formulario['asunto']; $mensaje = $formulario['mensaje']; $mensaje .="<hr><h4>Enviado desde <a href='https://tupale.co'>https://tupale.co / $id_formulario</a></h4>"; //$nombre = remplacetas('form_id',"id","$row[opcion]",'nombre',"") ; $delay = $formulario['delay']; $consulta =" SELECT * FROM form_datos WHERE form_datos.id_campo = '".mysqli_real_escape_string($link,$id_campo)."' AND form_datos.form_id = '".mysqli_real_escape_string($link,$id_formulario)."' GROUP BY contenido ORDER BY contenido "; $sql=mysqli_query($link,$consulta); if($sql){ if (mysqli_num_rows($sql)!='0'){ // mysqli_data_seek($sql, 0); $id_empresa= "$_SESSION[id_empresa]"; if($email_respuesta ==""){ $email_respuesta = $email[0]; $nombre_respuesta= $razon_social[0]; } $administrador = remplacetas("empresa","id","1","email",""); $reply = remplacetas("empresa","id","$id_empresa","email",""); $imagen = remplacetas("empresa","id",$id_empresa,"imagen",""); $web = remplacetas("empresa","id",$id_empresa,"web",""); $slogan = remplacetas("empresa","id",$id_empresa,"slogan",""); $headers = "MIME-Version: 1.0\r\n"; $headers .= "Content-type: text/html; charset=utf-8\r\n"; $headers .= "From: $nombre_respuesta <".$email[0].">\r\n"; $headers .= "Reply-To: $nombre_respuesta <".$email_respuesta.">\r\n"; $headers .= "Return-path: <$email[0]>\r\n"; if($accion =="enviar") { while( $row = mysqli_fetch_array( $sql ) ) { $nombre = remplacetas('form_datos','form_id',"$id_formulario","contenido"," id_campo='$campo_nombre' AND control = '$row[control]'") ; $nombre= $nombre[0]; //$nombre = "BEREMUNDO";//$nombre[0]; // eval("\$asunto_preview = \" $asunto \";"); // eval("\$mensaje_preview = \"$mensaje \";"); $campos= array('{nombre}','{debug}'); $remplazos= array("$nombre",'Hola'); $asunto_preview = str_replace($campos,$remplazos, $asunto); $mensaje_preview = str_replace($campos,$remplazos, $mensaje); $preview =" <h2>$asunto_preview</h2> <div> $mensaje_preview </div><hr> "; $envio = mail("$row[contenido]",$asunto_preview,"$mensaje_preview ","$headers"); if($envio){ $cantidad++ ; $confirmacion .= "$row[contenido] ";} sleep($delay); } mail("info@tupale.co","[ Envio completo $row[form_id] ] $asunto","$confirmacion $mensaje","$headers"); $respuesta->addAssign("preview","innerHTML","$preview"); return $respuesta; } $cantidad =0; // mysqli_data_seek($sql, 0); while( $row = mysqli_fetch_array( $sql ) ) { $nombre = remplacetas('form_datos','form_id',"$id_formulario","contenido"," id_campo='$campo_nombre' AND control = '$row[control]'") ; $nombre= $nombre[0]; //$nombre = "BEREMUNDO";//$nombre[0]; // eval("\$asunto_preview = \" $asunto \";"); // eval("\$mensaje_preview = \"$mensaje \";"); $campos= array('{nombre}','{debug}'); $remplazos= array("$nombre",'Hola'); $asunto_preview = str_replace($campos,$remplazos, $asunto); $mensaje_preview = str_replace($campos,$remplazos, $mensaje); $preview =" <h2>$asunto_preview</h2> <div> $mensaje_preview </div><hr> "; } // mail("info@tupale.co","[ Envio completo $row[form_id] ] $asunto","$confirmacion $mensaje","$headers"); $resultado=" <div class='alert alert-success'><h1>Mensajes Enviados, puede continuar.</h1></div> ";} else { $resultado="<span class='text-danger'>No hay datos</span>";} } // $respuesta->addAssign("muestra_form","innerHTML","$resultado"); // return $respuesta; $respuesta->addAssign("preview","innerHTML","$preview"); return $respuesta; } $respuesta->addAssign("muestra_form","innerHTML","$resultado"); $respuesta->addAssign("titulo_modal","innerHTML","<h1>Listas de correo $boton</h1>"); //$respuesta->addAssign("titulo_modal","innerHTML","$datos_usuario"); //$respuesta->addAssign("pie_modal","innerHTML","$pie"); $respuesta->addscript("$('#muestraInfo').removeClass('fade').modal('hide')"); $respuesta->addscript("$('#muestraInfo').modal('toggle')"); return $respuesta; } $xajax->registerFunction("mailer"); function formulario_permitidos($form_id,$usuario,$onchange,$accion){ if($accion =="listado"){ $link=Conectarse(); mysqli_set_charset($link, "utf8"); mysqli_real_escape_string($link,$usuario); $consulta =" SELECT * FROM `form_parametrizacion` WHERE tabla ='id_usuario' AND campo = '$usuario' AND descripcion ='autorizacion' "; $sql=mysqli_query($link,$consulta); if($sql){ if (mysqli_num_rows($sql)!='0'){ mysqli_data_seek($sql, 0); while( $row = mysqli_fetch_array( $sql ) ) { $nombre = remplacetas('form_id',"id","$row[opcion]",'nombre',"") ; $nombre = $nombre[0] ; $descripcion = remplacetas('form_id',"id","$row[opcion]",'descripcion',"") ; $descripcion = strip_tags($descripcion[0]); $opciones .="<option value='$row[opcion]'> $nombre /$descripcion </option>"; } $resultado=" <select class='form-control' onchange = \"$onchange \"> <option value=''> Seleccione </option> $opciones </select> ";} else { $resultado="<span class='text-danger'>No hay formularios autorizados</span>";} } return $resultado; } } function formulario_permisos_usuario($form_id,$usuario,$accion){ if($accion =="listado"){ $link=Conectarse(); mysqli_set_charset($link, "utf8"); mysqli_real_escape_string($link,$usuario); $consulta =" SELECT * FROM `form_parametrizacion` WHERE tabla ='id_usuario' AND campo = '$usuario' AND descripcion ='autorizacion' "; $sql=mysqli_query($link,$consulta); if($sql){ // if (mysqli_num_rows($sql)!='0'){ mysqli_data_seek($sql, 0); $opciones ="<tr><th class='text-center'>Formulario</th><th></th></tr>"; while( $row = mysqli_fetch_array( $sql ) ) { $nombre = remplacetas('form_id',"id","$row[opcion]",'nombre',"") ; $nombre = $nombre[0] ; $descripcion = remplacetas('form_id',"id","$row[opcion]",'descripcion',"") ; $descripcion = strip_tags($descripcion[0]); $revocar= " <div class='btn btn-default btn-danger btn-xs' onclick=\"xajax_borrar_linea('form_parametrizacion','$row[id]','div_$row[id]'); \"> <i class='glyphicon glyphicon-trash'></i> Revocar </div>"; $opciones .="<tr id='div_$row[id]'><td><strong>$nombre </strong> $descripcion </td><td>$revocar</td></tr>"; } $resultado=" <table id='listado_permisos_linea' class='table table-condensed table-striped table-hover'> $opciones <div class='' ></div> </table> "; // } } return $resultado; } if($form_id =="") { $listado = formulario_permisos_usuario("$form_id","$usuario","listado"); $listado_formularios = select_key('form_id,form_grupo','id','form_id.id','nombre',"xajax_formulario_permisos_usuario((this.value),'$usuario','grabar')","form_id.id_empresa = '$_SESSION[id_empresa]' AND form_id.id = form_grupo.id ",'tipo_consulta'); $listado_formularios= " <div class='input-group'> <span class='input-group-addon'> Permisos: </span> $listado_formularios </div> <div class='hidden' id='autorizacion_confimar'></div> <div class='list-group' id='listado_permisos'> $listado </div> "; return $listado_formularios; } // $resultado = "<li class='list-group-item'><div class='btn btn-danger btn-xs'><i class='glyphicon glyphicon-trash'></i> X </div> <strong>$nombre</strong> $descripcion</li>"; $respuesta = new xajaxResponse('utf-8'); if($accion =="grabar") { $existe = remplacetas('form_parametrizacion','campo',"$usuario",'opcion',"opcion='$form_id' and descripcion = 'autorizacion'") ; if( $existe[0] == $form_id ) { $respuesta->addAlert("El usuario ya está autorizado para usar ese formulario "); return $respuesta; } $nombre = remplacetas('form_id',"id","$form_id",'nombre',"") ; $nombre = $nombre[0] ; $descripcion = remplacetas('form_id',"id","$form_id",'descripcion',"") ; $descripcion = strip_tags($descripcion[0]); $insertar = parametrizacion_linea('id_usuario',"$usuario","$form_id",'autorizacion','','',''); $revocar= " <div class='btn btn-default btn-danger btn-xs' onclick=\"xajax_borrar_linea('form_parametrizacion','insertar','div_insertar'); \"> <i class='glyphicon glyphicon-trash'></i> Revocar </div>"; $linea ="<tr id='div_insertar'><td><strong>$nombre nombre </strong> $descripcion </td><td>$revocar</td></tr>"; //$respuesta->addScript("xajax_parametrizacion_linea('id_usuario','$usuario','$form_id','autorizacion','autorizacion_confimar')"); //$actualizado = formulario_permisos_usuario("$form_id","$usuario","listado"); $respuesta->addAppend("listado_permisos_linea","innerHTML","$linea"); return $respuesta; } $respuesta->addAssign("listado_permisos","innerHTML","$resultado"); return $respuesta; } $xajax->registerFunction("formulario_permisos_usuario"); function adjuntar_basico($id){ $formulario= ' <script> /*jslint unparam: true */ /*global window, $ */ $(function () { "use strict"; // Change this to the location of your server-side upload handler: var url = "plugins/upload/server/php/"; $("#fileupload").fileupload({ url: url, dataType: "json", param_names: "files_33", done: function (e, data) { $.each(data.result.files_33, function (index, file) { $("<p/>").text(file.name).appendTo("#files_33"); }); }, progressall: function (e, data) { var progress = parseInt(data.loaded / data.total * 100, 10); $("#progress .progress-bar").css( "width", progress + "%" ); } }).prop("disabled", !$.support.fileInput) .parent().addClass($.support.fileInput ? undefined : "disabled"); }); </script> '; $formulario .= " <!-- UPLOAD --> <!-- Button to select & upload files --> <span class='btn btn-success fileinput-button'> <span>Select files...</span> <!-- The file input field used as target for the file upload widget --> <input id='fileupload' type='file' name='files_33' multiple> </span> <!-- The global progress bar --> <p>Upload progress</p> <div id='progress' class='progress progress-success progress-striped'> <div class='bar'></div> </div> <!-- The list of files uploaded --> <p>Files uploaded:</p> <ul id='files_33'></ul> <!-- UPLOAD --> "; return $formulario; } function adjuntar($id){ $formulario= ' <script> /*jslint unparam: true, regexp: true */ /*global window, $ */ $(function () { "use strict"; // Change this to the location of your server-side upload handler: var url = "plugins/upload/server/php/", uploadButton = $("<button/>") .addClass("btn btn-primary") .prop("disabled", true) .text("Processing...") .on("click", function () { var $this = $(this), data = $this.data(); $this .off("click") .text("Abort") .on("click", function () { $this.remove(); data.abort(); }); data.submit().always(function () { $this.remove(); }); }); $("#fileupload").fileupload({ url: url, dataType: "json", autoUpload: false, acceptFileTypes: /(\.|\/)(gif|jpe?g|png|pdf|txt|csv|odt|gpx)$/i, maxFileSize: 999000, //formData: [{ name: "custom_dir", value: "/var/www/images_secure/" }], // Enable image resizing, except for Android and Opera, // which actually support image resizing, but fail to // send Blob objects via XHR requests: disableImageResize: /Android(?!.*Chrome)|Opera/ .test(window.navigator.userAgent), previewMaxWidth: 100, previewMaxHeight: 100, previewCrop: true }).on("fileuploadadd", function (e, data) { data.context = $("<div/>").appendTo("#files"); $.each(data.files'.$id.', function (index, file) { var node = $("<p/>") .append($("<span/>").text(file.name)); if (!index) { node .append("<br>") .append(uploadButton.clone(true).data(data)); } node.appendTo(data.context); }); }).on("fileuploadprocessalways", function (e, data) { var index = data.index, file = data.files'.$id.'[index], node = $(data.context.children()[index]); if (file.preview) { node .prepend("<br>") .prepend(file.preview); } if (file.error) { node .append("<br>") .append($("<span class=\'text-danger\'/>").text(file.error)); } if (index + 1 === data.files.length) { data.context.find("button") .text("Upload") .prop("disabled", !!data.files.error); } }).on("fileuploadprogressall", function (e, data) { var progress = parseInt(data.loaded / data.total * 100, 10); $("#progress .progress-bar").css( "width", progress + "%" ); }).on("fileuploaddone", function (e, data) { $.each(data.result.files'.$id.', function (index, file) { if (file.url) { var link = $("<a>") .attr("target", "_blank") .prop("href", file.url); $(data.context.children()[index]) .wrap(link); } else if (file.error) { var error = $("<span class=\'text-danger\'/>").text(file.error); $(data.context.children()[index]) .append("<br> ") .append(error); } }); }).on("fileuploadfail", function (e, data) { $.each(data.files'.$id.', function (index) { var error = $("<span class=\text-danger\'/>").text("File upload failed."); $(data.context.children()[index]) .append("<br>") .append(error); }); }).prop("disabled", !$.support.fileInput) .parent().addClass($.support.fileInput ? undefined : "disabled"); }); </script> '; $formulario .= " <!-- UPLOAD --> <!-- Button to select & upload files --> <span class='btn btn-success fileinput-button'> <span>Select files...</span> <!-- The file input field used as target for the file upload widget --> <input id='fileupload' type='file' name='files".$id."[]' multiple> </span> <!-- The global progress bar --> <p>Upload progress</p> <div id='progress' class='progress progress-success progress-striped'> <div class='bar'></div> </div> <!-- The list of files uploaded --> <p>Files uploaded:</p> <ul id='files'></ul> <!-- UPLOAD --> "; return $formulario; } function identificador_resaltado($id_empresa,$tipo) { $resaltado = remplacetas('form_parametrizacion','opcion','resaltado','descripcion',"id_empresa = '$id_empresa' ") ; $form = remplacetas('form_datos','control',"$resaltado[0]",'form_id',"") ; if($resaltado[0] !="") { $resaltado = mostrar_identificador("$resaltado[0]","$form[0]","resaltado",'',""); }else{ $resaltado =""; } return $resaltado; } function generar_acceso($identificador,$tipo,$datos){ $respuesta = new xajaxResponse('utf-8'); $formulario = remplacetas('form_datos','control',"$identificador",'form_id',"") ; $publico = remplacetas('form_id','id',"$formulario[0]",'publico',"") ; $permiso_actual = remplacetas('form_permisos','control',"$identificador",'permiso',"") ; $ahora = time(); $un_dia = $ahora + 86400; $un_dia=date('Y-m-d' , $un_dia); if($permiso_actual[0] !="") { $vencimiento_permiso_actual = remplacetas('form_permisos','control',"$identificador",'vencimiento',"") ; $fecha_vencimiento_permiso_actual = "Válido hasta: ".date ( "Y-m-d H:i:s" , $vencimiento_permiso_actual[0]); $revocar =" <div class='col-md-2'> <div class='input-group '> <div class='btn btn-danger btn-block' onClick=\"xajax_generar_acceso('$identificador','revocar','')\" >Revocar</div> </div> </div>"; }else { $fecha_vencimiento_permiso_actual = ""; } if($tipo =="") { if($publico[0] != '1') { if($permiso_actual[0] !=="") { $boton = " <a class='btn btn-default btn-block btn-xs btn-warning' onClick=\"xajax_generar_acceso('$identificador','consultar','')\"> Cambiar acceso <i class='glyphicon glyphicon-unlock'></i></span></a>"; } else{ $boton = " <a class='btn btn-default btn-block btn-xs' onClick=\"xajax_generar_acceso('$identificador','consultar','')\"> Generar acceso <i class='glyphicon glyphicon-lock'></i></span></a>"; } } else { $boton ="<span class='text-warning '>Contenido público <i class='glyphicon glyphicon-unlock'></i></span>"; } return $boton; } elseif($tipo=="consultar") { $resultado =" <div class='row'> <div class='col-md-5'> <div id='mostrar_permiso'> <p> <a href='../i$identificador$permiso_actual[0]' target='_blank'>$permiso_actual[0]</a> <br><small>$fecha_vencimiento_permiso_actual</small> </p> </div> </div> <div class='col-md-5'> <div class='input-group '> <input type='date' class='form-control' value='$un_dia' placeholder='Fecha de vencimiento' id='vencimiento' name='vencimiento'> <span class='input-group-btn'> <div class='btn btn-warning' onClick=\"xajax_generar_acceso('$identificador','crear',document.getElementById('vencimiento').value ); \" >Generar nuevo acceso</div> </span> </div> </div> $revocar </div> "; } elseif($tipo=="crear") { $permiso= rand().time(); $consulta ="INSERT INTO `form_permisos` (`id`, `control`, `permiso`, `vencimiento`, `creacion`, `id_usuario`) VALUES (NULL, '$identificador', SHA1('$permiso'), UNIX_TIMESTAMP('$datos'), CURRENT_TIMESTAMP, '$_SESSION[id]');"; $link=Conectarse(); mysqli_set_charset($link, "utf8"); if($permiso_actual[0] !="") { $borrar =" DELETE FROM form_permisos WHERE control='".mysqli_real_escape_string($link,$identificador)."' LIMIT 1"; $consulta_borrar =mysqli_query($link,$borrar); } $consulta =mysqli_query($link,$consulta); ///xajax_generar_acceso('$identificador','consultar','') $respuesta->addscript("xajax_generar_acceso('$identificador','consultar','')"); return $respuesta; } elseif($tipo=="revocar") { $link=Conectarse(); mysqli_set_charset($link, "utf8"); if($permiso_actual[0] !="") { $borrar =" DELETE FROM form_permisos WHERE control='".mysqli_real_escape_string($link,$identificador)."' LIMIT 1"; $consulta_borrar =mysqli_query($link,$borrar); $revocado="<h1 class='alert-danger text-center'>El permiso fue revocado</h1>"; $respuesta->addAssign("mostrar_permiso","innerHTML","$revocado"); return $respuesta; } } else {} $regresar =" <a class='btn btn-default' onclick=\"xajax_consultar_formulario('$formulario[0]','10','','modal'); \"><i class='glyphicon glyphicon-arrow-left'></i> Regresar </a>"; $respuesta->addAssign("muestra_form","innerHTML","$resultado"); $respuesta->addAssign("titulo_modal","innerHTML","$regresar"); //$respuesta->addAssign("titulo_modal","innerHTML","$datos_usuario"); //$respuesta->addAssign("pie_modal","innerHTML","$pie"); $respuesta->addscript("$('#muestraInfo').removeClass('fade').modal('hide')"); $respuesta->addscript("$('#muestraInfo').modal('toggle')"); return $respuesta; return $respuesta; } $xajax->registerFunction("generar_acceso"); function resumen_identificador($identificador,$id_turno,$area,$formulario){ if($formulario =="boton") { $boton = " <a class='btn btn-default btn-xs' onClick=\"xajax_resumen_identificador('$identificador','$id_turno','','')\"><i class='glyphicon glyphicon-eye-open'></i> Estructura</a>"; return $boton; } $respuesta = new xajaxResponse('utf-8'); $areas = mostrar_areas("$identificador",$id_turno,$autorizado); $respuesta = new xajaxResponse('utf-8'); $respuesta->addAssign("muestra_form","innerHTML","$areas"); $formulario = remplacetas('form_datos','control',"$identificador",'form_id',"") ; $regresar =" <a class='btn btn-default' onclick=\"xajax_consultar_formulario('$formulario[0]','10','','modal'); \"><i class='glyphicon glyphicon-arrow-left'></i> Regresar </a>"; $respuesta->addAssign("titulo_modal","innerHTML","$regresar"); //$respuesta->addAssign("titulo_modal","innerHTML","$datos_usuario"); //$respuesta->addAssign("pie_modal","innerHTML","$pie"); $respuesta->addscript("$('#muestraInfo').removeClass('fade').modal('hide')"); $respuesta->addscript("$('#muestraInfo').modal('toggle')"); // return $respuesta; return $respuesta; } $xajax->registerFunction("resumen_identificador"); function mostrar_areas($identificador,$id_turno,$autorizado,$tipo){ $id=""; $cuadro_area=""; $area=""; $json_array=""; $valor_actual =""; if(strlen($identificador) > 32) { $identificador_original= $identificador; $key = substr($identificador, 32, $length = 40); $identificador = substr($identificador, 0, $length = 32); }else {$identificador_original = $identificador;} //// seguridad //// $control = mysql_seguridad($identificador); if($id =="") { $id_seguridad = remplacetas('form_datos','control',$control,'form_id','') ; $publico = remplacetas('form_id','id',$id_seguridad[0],'publico','') ; $id_seguridad = $id_seguridad[0]; }else{ $publico = remplacetas('form_id','id',$id,'publico','') ; $id_seguridad = $id; } if( isset($_SESSION['id_empresa'] )) { $id_empresa = $_SESSION['id_empresa'];}else { $id_empresa =""; } $empresa_seguridad = remplacetas('form_id','id',$id_seguridad,'id_empresa','') ; if($publico[0] != "1" ){ $permiso_actual = remplacetas('form_permisos','control',"$control",'permiso',"") ; $permiso_vencimiento = remplacetas('form_permisos','control',"$control",'vencimiento',"") ; if($permiso_actual[0] =="") {$sigue_restringido = 1;} elseif($permiso_actual[0] != $key) {$sigue_restringido = 1;} elseif($permiso_vencimiento[0] < time()) {$sigue_restringido = 1;} else{$sigue_restringido ="";} } if($publico[0] != "1" and ( $id_empresa != $empresa_seguridad[0] ) AND $sigue_restringido !="" ) { $resultado ="<div class='alert alert-danger'><h1>Acceso restringido <small>Esta aplicación contiene datos privados </small> <i class='glyphicon glyphicon-lock'></i></h1></div>"; return $resultado; } //// seguridad //// $link=Conectarse(); mysqli_set_charset($link, "utf8"); $listado_atenciones =""; $sql_areas=" SELECT DISTINCT(form_datos.id_campo), form_campos.campo_area ,form_areas.nombre as consulta_area_nombre, form_datos.id FROM form_datos, form_campos, form_areas WHERE form_datos.control = '$identificador' AND form_campos.id = form_datos.id_campo AND form_datos.contenido != '' AND form_campos.campo_area = form_areas.id GROUP BY form_campos.campo_area ORDER BY form_areas.orden "; $consulta_areas=mysqli_query($link,$sql_areas); if (mysqli_num_rows($consulta_areas)!='0'){/// si hay datos en la consulta while( $row = mysqli_fetch_array( $consulta_areas ) ) {//// se clasifica por area $cuadro_area .="<div class=''> <label>$row[consulta_area_nombre]</label >"; $area = $row['campo_area']; $id_consulta_datos = $row['id']; /// los campos de cada area ///se buscan los datos de la consulta $sql_datos_consulta =" SELECT DISTINCT(form_datos.id_campo)AS id_campo ,form_datos.id, form_datos.contenido, form_campos.campo_nombre , form_campos.campo_descripcion , form_datos.form_id, form_datos.control, form_datos.orden FROM form_datos, form_campos WHERE form_datos.control = '$identificador' AND form_campos.id = form_datos.id_campo AND form_campos.campo_area = '$area' GROUP BY id_campo,form_datos.orden ORDER BY form_datos.id_campo, form_datos.orden ASC, timestamp DESC "; $datos_consulta=mysqli_query($link,$sql_datos_consulta); //$estado_turno = usuario_datos_consultar($id_turno,'turnos_usuario','estado'); if (mysqli_num_rows($datos_consulta)!='0'){ $json_array = array(); $listado_atenciones = " <table id='tabla_estructura_$identificador' style='' class='tabla_datos table table-hover table-striped table-bordered table-condensed table-responsive' > "; while( $row = mysqli_fetch_array( $datos_consulta ) ) { //// PRIVACIDAD $privado = remplacetas('form_parametrizacion','campo',"$row[form_id]",'opcion'," tabla='form_id' AND descripcion ='$row[id_campo]' AND opcion REGEXP '^privacidad:' ") ; $privacidad = $privado; $privado = explode(":",$privado[0]); if(isset($privado[1])) { $privado = $privado[1];} /// PRIVACIDAD ///if($privado !='1') { if( !is_null($row['orden'])) { $orden_multiple ="and orden ='$row[orden]' ";}else { $orden_multiple ="";} $contenido = remplacetas('form_datos','form_id',"$row[form_id]",'contenido'," id_campo ='$row[id_campo]' and control ='$identificador' $orden_multiple ") ; $contenido[0]= str_replace('\n','<br>',$contenido[0]); $contenido[0]= stripslashes($contenido[0]); //$contenido[0] = "mas $contenido[0]"; if($contenido[0] !="" AND $privado !="1") { $tipo_campo = remplacetas('form_campos','id',"$row[id_campo]",'campo_tipo',"") ; if($tipo_campo[0] =="15" ) {$imagen ="<img style='' class='lazy img img-responsive imagen_estructurada' src='$_SESSION[site]milfs/images/secure/?file=300/$contenido[0]'> "; $contenido[0]="";}else{$imagen ="";} if($tipo_campo[0] =="6" ) {$contenido[0] =imprimir_buscador_campo("$row[id_campo]",$contenido[0],"") ; } if($tipo_campo[0] =="29" ) {$contenido[0] ="<img class='img img-responsive' src='$contenido[0]'> "; }//$contenido="<img class='img img-responsive' src='$contenido'>"; if($tipo_campo[0] =="31" ) { $link_url = "$_SESSION[site]milfs/archivos/?archivo=$contenido[0]"; $contenido[0] = "<a id='link_$row[id_campo]_$row[orden]' href='$link_url' target='_blank' >$contenido[0]</a>"; } if($tipo_campo[0]=='10'){ $render = relacion_render("$row[form_id]","$row[id_campo]",$contenido[0],'5',''); $contenido[0] = "$valor_actual";} else { $render=html_entity_decode($contenido[0]);} if($tipo_campo[0]=='24' or $tipo_campo[0]=='30'){ $render= json_render("$contenido[0]","html","$control");} /*if($tipo_campo[0] =='2'){ $render="$contenido[0] xxx"; //$contenido[0]="$contenido[0] xxx"; $contenido[0]= str_replace('\"','"',$contenido[0]); $contenido[0]= str_replace("\'","'",$contenido[0]); $contenido[0]="$contenido[0] xxx"; } */ $json_array[$row['campo_nombre']."_titulo"] = "$contenido[0]"; //imprimir_buscador_campo($id_campo,$valor) $listado_atenciones .= "<tr > <td class='small' width='25%' title=' ($row[id_campo]) ".$row['campo_descripcion']." '> ".$row['campo_nombre'].": </td> <td style=' word-wrap: break-word;'>$imagen <strong class='' style=' word-wrap: break-word;'> $render </strong> </td> </tr>"; }else { $listado_atenciones .= "";} }/// fin d el array para datos de la consulta $listado_atenciones = "<div class='contenedor_estructura'>$listado_atenciones</table></div>"; } else { }/// fin de si hay resultados en $datos_consulta /// fin de los campos de cada area $cuadro_area .=" $listado_atenciones </div> "; } } else{$listado_atenciones.=" <tr><td>No hay resultados 0020</td></tr>"; $cuadro_area ="$listado_atenciones ";} // }///fin de las atenciones mostradas por timestamp /// }/// fin de las atenciones en ese turno /// else{$listado_atenciones.="";} /// fin de la clasificacion de atenciones por timestamp //$nombre_paciente = usuario_datos_consultar($id_usuario,'usuario','nombre_completo'); $nuevo_select = "<h2>Resumen de atenciones </h2> $area "; if($tipo == "api" ) { //print_r($sql_datos_consulta); return $json_array; } else{ return $cuadro_area; } } function borrar_linea($tabla,$id,$div){ if($usuario =="") { $link=Conectarse(); mysqli_set_charset($link, "utf8"); mysqli_real_escape_string($link,$id); mysqli_real_escape_string($link,$tabla); $consulta ="DELETE FROM $tabla WHERE `id` = '$id' AND id_empresa = '$_SESSION[id_empresa]' LIMIT 1"; $sql=mysqli_query($link,$consulta); if($sql){ $resultado ="<div class='alert alert-success text-center '>El registro fue eliminado</div>"; } else { $resultado ="<div class='alert alert-warning text-center '>No se pudo eliminar el registro</div>"; } } if($div =="") { return ; }else{ $respuesta = new xajaxResponse('utf-8'); $respuesta->addAssign("$div","innerHTML","$resultado"); return $respuesta; } } $xajax->registerFunction("borrar_linea"); function autorizar_usuarios($usuario,$grupo,$accion){ if($usuario =="") { $link=Conectarse(); mysqli_set_charset($link, "utf8"); mysqli_real_escape_string($link,$usuario); $consulta =" SELECT *, form_parametrizacion.id as id, usuarios.id as usuario FROM `form_parametrizacion`, usuarios WHERE form_parametrizacion.campo = usuarios.id AND form_parametrizacion.id_empresa ='$_SESSION[id_empresa]' AND descripcion ='autorizacion' ORDER BY p_nombre ASC"; $sql=mysqli_query($link,$consulta); if($sql){ if (mysqli_num_rows($sql)!='0'){ mysqli_data_seek($sql, 0); $opciones ="<tr><th>Nombres</th><th>Email</th><th>Rol</th><th>Acción</th></tr>"; while( $row = mysqli_fetch_array( $sql ) ) { $rol =" <div id='autorizacion_confimar_$row[id]'> <select class='form-control' onchange= \" xajax_borrar_linea('form_parametrizacion','$row[id]','borrar_$row[id]') xajax_parametrizacion_linea('id_empresa','$row[usuario]',(this.value),'autorizacion','autorizacion_confimar_$row[id]') \"> <option value= '$row[opcion]' selected >".ucfirst ($row['opcion'])."</option> <option value= 'editor'>Editor</option> <option value= 'administrador'>Administrador</option> </select></div><div style='display:none;' id='borrar_$row[id]'></div> "; $revocar= " <div class='btn btn-default btn-danger btn-xs' onclick=\"xajax_borrar_linea('form_parametrizacion','$row[id]','div_$row[id]'); \"> <i class='glyphicon glyphicon-trash'></i> Revocar </div>"; $opciones .="<tr id='div_$row[id]'><td>$row[p_nombre] $row[p_apellido] </td><td>$row[email]</td><td>$row[opcion]</td><td>$revocar</td></tr>"; } $resultado=" <table class='table table-condensed table-striped table-hover'> $opciones </table> "; } } $resultado = " <div id='div_autorizaciones'></div> <legend>Gestión de usuarios</legend> $resultado <div class='input-group'> <span class='input-group-addon'>Autorizar usuario por Email</span> <input type='email' class='form-control' id='email_autorizacion' placeholder='Escriba el email del usuario que desea autorizar'> <span class='input-group-btn'> <div class='btn btn-warning' onclick =\"xajax_autorizar_usuarios(document.getElementById('email_autorizacion').value,'editor','autorizar'); \">Autorizar</div> </span> </div> <div id='div_autorizacion_confimar'></div> <div id='autorizacion_confimar'></div> "; }else { $respuesta = new xajaxResponse('utf-8'); $verifica = remplacetas('usuarios','email',"$usuario",'id',"") ; if($verifica[0] =="") { $resultado ="<div class='alert alert-danger'><h2>El usuario <strong>$usuario</strong> no está registrado $verifica[0]</h2></div>"; $respuesta->addAssign("div_autorizacion_confimar","innerHTML","$resultado"); } else { //xajax_parametrizacion_linea('id_empresa','campo','opcion','descripcion','DIV'); //parametrizacion_linea($tabla,$campo,$opcion,$descripcion,$div) $respuesta->addScript("xajax_parametrizacion_linea('id_empresa','$verifica[0]','editor','autorizacion','autorizacion_confimar')"); $resultado ="<div class='alert alert-success'><h2>Se agregó el usuario <strong>$usuario</strong> <div id='div_autorizacion_confimar'></div></h2></div>"; $respuesta->addAssign("div_autorizacion_confimar","innerHTML","$resultado"); } return $respuesta; } return $resultado; } $xajax->registerFunction("autorizar_usuarios"); function cambiar_empresa($id_usuario,$id_empresa) { $select = ""; $principal = remplacetas('usuarios','id',$id_usuario,'id_empresa',"") ; $principal_nombre = remplacetas('empresa','id',$principal[0],'razon_social',"") ; if($id_empresa !="") { $respuesta = new xajaxResponse('utf-8'); if($id_empresa=="principal") { $_SESSION[id_empresa] = "$principal[0]"; $_SESSION['grupo'] = "1"; $respuesta->addRedirect("e$principal[0]"); $respuesta->addAssign("div_cambiar_empresa","innerHTML","$resultado"); return $respuesta; } $revisar_usuario = remplacetas('form_parametrizacion','campo',"$id_usuario",'opcion'," tabla='id_empresa' and descripcion = 'autorizacion'") ; if($revisar_usuario[0]=="") { $resultado ="<div class='alert alert-danger text-center'><h2>No tiene autorizacion </h2>"; }else{ $_SESSION[id_empresa] = "$id_empresa"; $_SESSION['grupo'] = "$revisar_usuario[0]"; } $respuesta->addAssign("div_cambiar_empresa","innerHTML","$resultado"); $respuesta->addRedirect("e$id_empresa"); return $respuesta; } $link=Conectarse(); mysqli_set_charset($link, "utf8"); mysqli_real_escape_string($link,$id_usuario); $consulta ="SELECT empresa.id, razon_social, opcion FROM form_parametrizacion , empresa WHERE form_parametrizacion.id_empresa = empresa.id AND `campo` = '$id_usuario' AND descripcion ='autorizacion' ORDER BY razon_social"; $sql=mysqli_query($link,$consulta); if($sql){ if (mysqli_num_rows($sql)!='0'){ mysqli_data_seek($sql, 0); $opciones ="<option value='principal' >$principal_nombre[0]</option>"; while( $row = mysqli_fetch_array( $sql ) ) { if($_SESSION['id_empresa'] == $row[id]) { $selected='selected';}else{ $selected='';} $opciones .="<option value='$row[id]' $selected >$row[razon_social]</option>"; } $select=" <select class='form-control ' id='cambiar_empresa' onChange=\"xajax_cambiar_empresa('$id_usuario',(this.value)); \" >$opciones</select> "; } } return $select; } $xajax->registerFunction("cambiar_empresa"); function clonar_identificador($control){ $nuevo_control = md5(rand(1,99999999).microtime()); $ip = obtener_ip(); $graba_ip = "INET_ATON('".$ip."') "; $link=Conectarse(); mysqli_set_charset($link, "utf8"); mysqli_real_escape_string($link,$control); $consulta="SELECT * FROM form_datos WHERE control ='$control'"; $sql=mysqli_query($link,$consulta); if($sql){ if (mysqli_num_rows($sql)!='0'){ mysqli_data_seek($sql, 0); while( $row = mysqli_fetch_array( $sql ) ) { $values .= "('$row[id_campo]','$row[form_id]','$row[proceso]', '$row[orden]', '$_SESSION[id]', '$row[id_empresa]','".mysqli_real_escape_string($link,$row['contenido'])."',UNIX_TIMESTAMP(),$graba_ip, '$nuevo_control'),"; } $values = substr($values, 0, -1); $values = "(`id_campo`, `form_id`, `proceso`, `orden`, `id_usuario`,`id_empresa`,`contenido`,`timestamp`,`ip`,`control`) VALUES $values "; } $consulta_insertar_campos = "INSERT INTO form_datos $values "; $sql_insert_campos=mysqli_query($link,$consulta_insertar_campos); } $respuesta = new xajaxResponse('utf-8'); $resultado =" <div class='alert alert-success'> <p><i class='glyphicon glyphicon-smile-o'></i> El registro fue clonado a $nuevo_control <br><b>Por favor actualice esta vista</b></p> </div> "; //$respuesta->addAlert("EL REGISTRO SE CLONO $nuevo_control");//<div class='btn btn-default btn-default' onclick=\"xajax_consultar_formulario('$row[id]','$registros','','modal'); \"><i class='glyphicon glyphicon-eye-open'></i> Consultar</div> //$resultado=" $consulta // $consulta_insertar_campos "; $respuesta->addAssign("clonar_$control","innerHTML","$resultado"); return $respuesta; } $xajax->registerFunction("clonar_identificador"); function cerrar_sesion(){ session_destroy(); $respuesta = new xajaxResponse('utf-8'); $respuesta->addRedirect(""); return $respuesta; } $xajax->registerFunction("cerrar_sesion"); function listado_entradas($formulario,$registros){ $w_campo = ""; $resultado = ""; $listado = ""; $campo_titulo = remplacetas('form_parametrizacion','campo',$formulario,'descripcion'," tabla='form_id' and opcion = 'titulo'") ; if($campo_titulo[0] !="") { $w_campo ="AND id_campo='$campo_titulo[0]' "; $w_nombre_campo =" id_campo='$campo_titulo[0]' "; } $consulta = "SELECT * FROM form_datos WHERE form_id='$formulario' $w_campo GROUP BY control ORDER BY id DESC LIMIT $registros "; $link=Conectarse(); mysqli_set_charset($link, "utf8"); mysqli_real_escape_string($link,$consulta); $sql=mysqli_query($link,$consulta); if (mysqli_num_rows($sql)!='0'){ $resultado = mysqli_num_rows($sql); while( $row = mysqli_fetch_array( $sql ) ) { $contenido =strip_tags($row['contenido']); if($campo_titulo[0] !="") { $nombre = remplacetas_orden('form_datos','control',$row['control'],'contenido'," $w_nombre_campo " ,"ORDER BY timestamp DESC") ; }else {$nombre[0] = $contenido; } $maximo ="80"; $size= strlen($contenido); if($size > $maximo) { $contenido =substr($contenido,0,$maximo)."... "; } else{ $contenido = $contenido; } ///href='../d$row[control]' $listado .= " <li class='list-group-item' ><a class='btn btn-link ' onclick =\"xajax_formulario_embebido_ajax('','$formulario','$row[control]','edit') \" target='nuevo'> $nombre[0]</a></li> "; } $resultado= " <ul class='list-group'> $listado </ul>"; } return $resultado; } $xajax->registerFunction("listado_entradas"); function panel_aplicaciones($tipo,$empresa,$div){ $no_mostrar = ""; $resultado = ""; $listado = ""; $id_empresa=""; /// se establece en vacio para forzar a tomar la emoresa y el usuario de las variables de session $registros='10'; if($empresa=="" AND $_SESSION['id'] !="") { $w_empresa ="AND id_empresa = '$_SESSION[id_empresa]' AND propietario = '$_SESSION[id]' ";} elseif($empresa=="" ) { $w_empresa ="AND id_empresa = '$_SESSION[id_empresa]' ";} else{ $w_empresa ="AND id_empresa = '$empresa' ";} $consulta = "SELECT * FROM form_id WHERE activo='$tipo' $w_empresa ORDER BY id DESC "; $link=Conectarse(); mysqli_set_charset($link, "utf8"); mysqli_real_escape_string($link,$consulta); $sql=mysqli_query($link,$consulta); if (mysqli_num_rows($sql)!='0'){ $resultado = mysqli_num_rows($sql); while( $row = mysqli_fetch_array( $sql ) ) { $entradas = listado_entradas($row['id'],"$registros"); //href='../g$row[id]' $listado .= " <div class='panel panel-default'> <div class='panel-heading' role='tab' id='tab_$row[id]'> <h3>".strip_tags($row['nombre'])." <small>ID $row[id]</small></h3> <a data-toggle='collapse' role='button' data-parent= '#listado_aplicaciones_disponibles' href='#collapse_$row[id]' aria-expanded='false' aria-controls='collapse_$row[id]' class='collapsed btn btn-default' >Mostrar últimos $registros</a> <a class='btn btn-default' target='nuevo' onclick=\"xajax_formulario_embebido_ajax('','$row[id]','','nuevo');\"> <i class='glyphicon glyphicon-plus-sign'></i> Agregar</a> <div class='btn btn-default btn-default' onclick=\"xajax_consultar_formulario('$row[id]','$registros','','modal'); \"><i class='glyphicon glyphicon-eye-open'></i> Consultar</div> </div> <div id='collapse_$row[id]' class='panel-collapse collapse' role='tabpanel' aria-labelledby='tab_$row[id]'> <div class='panel-body'> $entradas </div> </div> </div> "; } $resultado= " <div class='btn btn-default btn-xs pull-right' onclick=\"xajax_limpia_div('div_panel_aplicaciones'); \" >Cerrar (X)</div> <h2>Aplicaciones disponibles</h2> <div class='panel-group' id='listado_aplicaciones_disponibles' tole='tablist' aria-multiselectable='true'> $listado </div> <br>"; } if($div =="") { $cambiar_empresa = cambiar_empresa($_SESSION['id'],''); if($_SESSION['grupo']=='3'){$desadministrador ="";}else{$desadministrador ="<a href='milfs/' class='btn btn-botonera-admin'>Des-administrador</a>";} $boton=" $no_mostrar $cambiar_empresa <li class='btn btn_hover'> <a onclick=\"xajax_panel_aplicaciones('$tipo','$empresa','div_panel_aplicaciones'); \" >Editor</a></li> <li class='btn btn_hover'> <a href='milfs/'>Des-administrador</a></li> <div class='container-fluid' id='div_panel_aplicacionesX' style='max-height:500px; overflow:auto;'></div>"; $resultado="$boton"; return $resultado; }else { $respuesta = new xajaxResponse('utf-8'); $respuesta->addAssign("$div","innerHTML","$resultado"); return $respuesta; } } $xajax->registerFunction("panel_aplicaciones"); function asistente_aplicaciones($accion,$id,$nombre,$descripcion){ $div = "asistente_aplicacion"; $empresa_asistente ="3"; $respuesta = new xajaxResponse('utf-8'); $nombre_original = remplacetas('form_id',"id","$id",'nombre',"") ; $nombre_original = $nombre_original[0] ; $descripcion_original = remplacetas('form_id',"id","$id",'descripcion',"") ; $descripcion_original = strip_tags($descripcion_original[0]); $encabezado =" <h2 class='text-center'>$nombre</h2> <h3>$descripcion</h3> <p class='text-center'>$nombre_original</p> "; if($accion =="" ) { $resultado= " <br> <div id='$div' class='jumbotron'> <div class='center-block btn btn-success' onclick=\"xajax_asistente_aplicaciones('listado','','','');\"; ><H3><i class='glyphicon glyphicon-magic'></i> ¡Bienvenido - Comencemos! </H3></div> </div>"; return $resultado; } elseif($accion=='listado') { if(!isset($_SESSION['id']) AND !isset($_SESSION['control_usuario_milfs']) ) { $habilitado=""; $disable ="disabled"; $aviso ="<div class='text-center alert alert-warning'><h2><i class='glyphicon glyphicon-exclamation-triangle'></i><br>Por favor ingresa o regístrate para empezar a crear tu aplicación.</h2></div>"; } else{ $validar_email = verificacion_email("$_SESSION[nombre_usuario_milfs]",'','verificar'); if($validar_email =="" and !isset($_SESSION[id])) { $aviso ="<div class='text-center alert alert-warning'><h2><i class='glyphicon glyphicon-exclamation-triangle'></i><br>Por <strong>verifica tu email</strong> para empezar a crear tu aplicación.</h2></div>";; $habilitado=""; $disable ="disabled";} else { $aviso="<h2>Elige un tipo de aplicación</h2>"; $habilitado="1"; } } $consulta = " SELECT form_id.id, nombre,descripcion FROM form_id, form_grupo WHERE form_id.id = form_grupo.id AND form_id.id_empresa = '$empresa_asistente' AND form_grupo.grupo = 'Publico' ORDER BY nombre ASC "; $link=Conectarse(); mysqli_set_charset($link, "utf8"); mysqli_real_escape_string($link,$consulta); $sql=mysqli_query($link,$consulta); if (mysqli_num_rows($sql)!='0'){ while( $row = mysqli_fetch_array( $sql ) ) { if($habilitado=="1") {$onclick="onclick=\"xajax_asistente_aplicaciones('nombre','$row[id]','','');\";";} else{$onclick="onclick=\"alert('Por favor ingresa o regístrate para empezar a crear tu aplicación.')\";";} $listado .= " <li class='list-group-item' > <blockquote class='text-$alerta'> <button $disable $onclick class='btn btn-primary btn-block'>".strip_tags($row['nombre'])."</button> <footer>".strip_tags($row['descripcion'])." </footer> </blockquote> </li>"; } $resultado =" $aviso $listado"; } } elseif($accion=='nombre') { $resultado =" $encabezado <div id='nombre_aplicacion_input' class='input-group text-center' style='width:100%'> <label for='nombre_aplicacion' class='sr-only' >Pon un nombre a tu aplicación</label> <input value='$nombre' id='nombre_aplicacion' type='text' class='text-center form-control input-lg' placeholder='Pon un nombre a tu aplicación'> </div> <br> <div class='input-group text-center' style='width:100%'> <input type='hidden' id='descripcion_aplicacion' name='descripcion_aplicacion' value='$descripcion'> <div onclick=\"xajax_asistente_aplicaciones('listado','$id',document.getElementById('nombre_aplicacion').value,document.getElementById('descripcion_aplicacion').value);\"; class='btn btn-success btn-lg pull-left' ><i class='glyphicon glyphicon-arrow-left'></i> ANTERIOR</div> <div onclick=\"xajax_asistente_aplicaciones('descripcion','$id',document.getElementById('nombre_aplicacion').value,document.getElementById('descripcion_aplicacion').value);\"; class='btn btn-success btn-lg pull-right' >SIGUIENTE <i class='glyphicon glyphicon-arrow-right'></i> </div> <div id='asistente_aviso'></div> </div> "; } elseif($accion=='descripcion') { if($nombre=="") { $aviso="<span class='text-danger'><i class='glyphicon glyphicon-exclamation-triangle'></i> Por favor pon un nombre a tu aplicación </span>"; $respuesta->addAssign("nombre_aplicacion_input","className"," input-group has-error text-center "); $respuesta->addAssign("asistente_aviso","innerHTML","$aviso"); return $respuesta; } $resultado =" $encabezado <div id='descripcion_aplicacion_input' class='input-group' style='width:100%'> <label for='descripcion_aplicacion' class='sr-only' >Describe tu aplicación</label> <br><div href='#' id='edit' class='btn btn-default btn-xs' onclick=\"edit()\">Editor HTML</div> <textarea type='text' id='descripcion_aplicacion' class='wysiwyg form-control input-lg' placeholder='Describe a tu aplicación'>$descripcion</textarea> </div> <br> <div class='input-group text-center' style='width:100%'> <input type='hidden' id='nombre_aplicacion' name='nombre_aplicacion' value='$nombre'> <div onclick=\"xajax_asistente_aplicaciones('nombre','$id',document.getElementById('nombre_aplicacion').value,document.getElementById('descripcion_aplicacion').value);\"; class='btn btn-success btn-lg pull-left' ><i class='glyphicon glyphicon-arrow-left'></i> ANTERIOR</div> <div onclick=\"xajax_asistente_aplicaciones('grabar','$id',document.getElementById('nombre_aplicacion').value,document.getElementById('descripcion_aplicacion').value);\"; class='btn btn-success btn-lg pull-right' >SIGUIENTE <i class='glyphicon glyphicon-arrow-right'></i> </div> <div id='asistente_aviso'></div> </div> "; } elseif($accion=='grabar') { if($descripcion=="") { $aviso="<span class='text-danger'><i class='glyphicon glyphicon-exclamation-triangle'></i> Por favor describe tu aplicación </span>"; $respuesta->addAssign("descripcion_aplicacion_input","className"," input-group has-error text-center "); $respuesta->addAssign("asistente_aviso","innerHTML","$aviso"); return $respuesta; } $resultado=" $encabezado <div class='input-group text-center' style='width:100%'> <input type='hidden' id='nombre_aplicacion' name='nombre_aplicacion' value='$nombre'> <input type='hidden' id='descripcion_aplicacion' name='descripcion_aplicacion' value='$descripcion'> <div onclick=\"xajax_asistente_aplicaciones('descripcion','$id',document.getElementById('nombre_aplicacion').value,document.getElementById('descripcion_aplicacion').value);\"; class='btn btn-success btn-lg pull-left' ><i class='glyphicon glyphicon-arrow-left'></i> ANTERIOR</div> <div onclick = \"xajax_clonar_formulario('$id','$_SESSION[id_empresa]',document.getElementById('nombre_aplicacion').value,document.getElementById('descripcion_aplicacion').value,'aplicacion'); \" class='btn btn-success btn-lg pull-right' ><i class='glyphicon glyphicon-floppy-disk'></i> GRABAR </div> </div> "; } else {} $respuesta->addAssign("$div","innerHTML","$resultado"); return $respuesta; } $xajax->registerFunction("asistente_aplicaciones"); function mostrar_interacciones($identificador,$tipo,$usuario,$div){ if($tipo=="todo") { $w_tipo =""; }else { $w_tipo ="AND tipo= '$tipo'"; } $consulta = "SELECT * FROM form_interacciones WHERE identificador = '$identificador' $w_tipo ORDER BY timestamp DESC "; $link=Conectarse(); mysqli_set_charset($link, "utf8"); mysqli_real_escape_string($link,$consulta); $sql=mysqli_query($link,$consulta); if (mysqli_num_rows($sql)!='0'){ $resultado = mysqli_num_rows($sql); require ("milfs/includes/parametrizacion.php"); while( $row = mysqli_fetch_array( $sql ) ) { $usuario = remplacetas('form_datos','control',"$row[usuario]","contenido","id_campo = '$login_campo_nombres'") ; $nombre_usuario = remplacetas('form_datos','control',"$control_servicio[0]","contenido"," id_campo = '$login_campo_nombres'") ; $avatar_usuario = remplacetas('form_datos','control',"$control_servicio[0]","contenido","id_campo = '$login_campo_avatar'") ; if($tipo =="todo") { if($row[tipo] =="Mensaje"){ $alerta='default'; } elseif($row[tipo] =="Si"){ $alerta='success'; } elseif($row[tipo] =="No"){ $alerta='warning'; } elseif($row[tipo] =="Comentar"){ $alerta='info'; } else{ $alerta=''; } } $listado .= " <li class='list-group-item' > <blockquote class='text-$alerta'> <p>".strip_tags($row['mensaje'])."</p> <footer>$usuario[0] $row[timestamp] </footer> </blockquote> </li>"; } $resultado= " <div style='clear: both'></div> <div class='mostrar_interacciones panel panel-default' > <div class='panel-heading'> <legend>Interacciones</legend> </div> <ul class='list-group'> $listado </ul> </div>"; }else{ $resultado="<div class='alert alert-danger'><h2>Aún no hay interacciones que mostrar. </h2></div>"; } $respuesta = new xajaxResponse('utf-8'); $respuesta->addAssign("muestra_form","innerHTML","$resultado"); $respuesta->addAssign("modal_landing","className","modal-dialog modal-xs"); $respuesta->addAssign("titulo_modal","innerHTML","<h2>$accion <small>$_SESSION[nombre_usuario_milfs]<small> </h2> "); $respuesta->addScript("$('#muestraInfo').removeClass('fade').modal('hide')"); $respuesta->addScript("$('#muestraInfo').modal('toggle')"); return $respuesta; } $xajax->registerFunction("mostrar_interacciones"); function contar_interacciones($identificador,$tipo,$usuario,$id_form){ $resultado =""; $w_usuario =""; $w_form =""; if($usuario !=""){ $w_usuario = " AND usuario = '$usuario'";} if($id_form !=""){ $w_form = " AND id_form = '$id_form'";} if($tipo !=""){ $w_tipo = " AND tipo= '$tipo'";} if($identificador !=""){ $w_identificador = " AND identificador= '$identificador'";} $consulta = "SELECT distinct(id) as cantidad FROM form_interacciones WHERE identificador !='' $w_identificador $w_tipo $w_usuario $w_form "; $link=Conectarse(); mysqli_set_charset($link, "utf8"); mysqli_real_escape_string($link,$consulta); $sql=mysqli_query($link,$consulta); if (mysqli_num_rows($sql)!='0'){ $resultado = mysqli_num_rows($sql); //$resultado = mysqli_result($sql,0,"cantidad"); } //$resultado .= " $consulta"; return $resultado; } function interaccion_identificador($identificador,$accion,$tipo,$campo) { $revisar_interacciones=""; //onclick=\"xajax_interaccion_identificador('$identificador','Gusta','check',''); $respuesta = new xajaxResponse('utf-8'); $empresa = remplacetas("form_datos","control","$identificador","id_empresa",""); $id_empresa = $empresa[0]; if(is_array($identificador)) { $identificador_array= $identificador; $tipo=$identificador['tipo']; $mensaje=$identificador['texto_interaccion']; $nuevo_identificador=$identificador['identificador']; $id_formulario = remplacetas("form_datos","control","$nuevo_identificador","form_id",""); $id_form = $id_formulario[0]; $empresa = remplacetas("form_datos","control","$nuevo_identificador","id_empresa",""); $id_empresa = $empresa[0]; $ip = obtener_ip(); $graba_ip = "INET_ATON('".$ip."') "; $link=Conectarse(); mysqli_set_charset($link, "utf8"); $mensaje=strip_tags($mensaje) ; mysqli_real_escape_string($link,$mensaje); if($_SESSION["id"] !="") { $usuario="MILF-$_SESSION[id]";}else{ $usuario = "$_SESSION[control_usuario_milfs]"; } $consulta="INSERT INTO form_interacciones SET id_form='$id_form' , mensaje='".mysqli_real_escape_string($link,$mensaje)."' ,estado='0' ,identificador='$nuevo_identificador', tipo='$tipo',ip=$graba_ip,usuario='$usuario' "; mysqli_real_escape_string($link,$consulta); $sql=mysqli_query($link,$consulta); if($sql) { require ("milfs/includes/parametrizacion.php"); //$empresa = remplacetas("form_datos","control","$nuevo_identificador","id_empresa",""); $id_formulario = remplacetas("form_datos","control","$nuevo_identificador","form_id",""); $id_form = $id_formulario[0]; $id_empresa = $empresa[0]; ///OBLIGA AL EMAIL DE LA EMPRESA PRINCIPAL $email = remplacetas("empresa","id","$id_empresa","email",""); $administrador = remplacetas("empresa","id","1","email",""); $reply = remplacetas("empresa","id","$id_empresa","email",""); $imagen = remplacetas("empresa","id",$id_empresa,"imagen",""); $razon_social = remplacetas("empresa","id",$id_empresa,"razon_social",""); $web = remplacetas("empresa","id",$id_empresa,"web",""); $slogan = remplacetas("empresa","id",$id_empresa,"slogan",""); $nombre_formulario = remplacetas("form_id","id","$id_form","nombre",""); $titulo_email ="Alguien ha decidido <strong>$tipo</strong> tu publicación "; $campo_imagen = buscar_campo_tipo("$id_form","15"); $imagen_email = remplacetas('form_datos','id_campo',$campo_imagen[0],'contenido'," control = '$nuevo_identificador' ") ; $imagen_email = "https://$web[0]/milfs/images/secure/?file=600/$imagen_email[0]"; $nombre_email = $razon_social[0]; $cuerpo_email=" Tu aplicación <stron><a href='https://$web[0]/I$nuevo_identificador'>$nombre_formulario[0]</a></strong> ha recibido una interacción, por favor revísala cuando te sea posible. "; if($tipo =="Reportar") { $copia = " Cc: $administrador[0] \r\n";} $headers = "MIME-Version: 1.0\r\n"; $headers .= "Content-type: text/html; charset=iso-8859-1\r\n"; $headers .= "From: $razon_social[0] ".$administrador[0]."\r\n"; $headers .= "Reply-To: $razon_social[0] ".$email[0]."\r\n"; $headers .= "Return-path: $email[0]\r\n"; $headers .= "$copia"; $plantilla = remplacetas('form_parametrizacion','opcion',"plantilla:email_general",'descripcion',"id_empresa = '1'") ; $consulta_plantilla ="$plantilla[2]"; $plantilla = html_entity_decode ( $plantilla[0] ); eval("\$plantilla = \"$plantilla \";"); $plantilla .=""; $asunto= "Recibiste un mensaje en [$portal_sigla] "; if(mail("$email[0]","$asunto","$plantilla","$headers")){ $exito .="<h2>Tienes un email ! <pre> $headers</pre> $email[0]</h2>"; }else {$exito .="<span class='text-danger'><i class='glyphicon glyphicon-meh-o'></i> Error enviando correo</span>";} $div = "".$tipo."_cantidad_$nuevo_identificador"; $cantidad = contar_interacciones("$nuevo_identificador","$tipo",""); $resultado="<div class='alert alert-success'><h2>El mensaje se ha enviado, si es necesario nos comunicaremos contigo</h2> </div>"; $respuesta->addAssign("$div","innerHTML","$cantidad"); }else{ $resultado="<div class='alert alert-warning'><h2><i class='glyphicon glyphicon-meh-o'></i> Algo salió mal <small> Por favor inténtalo de nuevo </small></h2></div>"; } $respuesta->addAssign("muestra_form","innerHTML","$resultado"); // $respuesta->addAssign("myModalLabel_info","innerHTML","<h2>$accion</h2>"); return $respuesta; } if($accion =="") { $cantidad_me_gusta = contar_interacciones("$identificador","Gusta","",""); $cantidad_me_comprometo = contar_interacciones("$identificador","Comprometo","",""); $cantidad_Si = contar_interacciones("$identificador","Si","",""); $cantidad_No = contar_interacciones("$identificador","No","",""); $cantidad_Comentar = contar_interacciones("$identificador","Comentar","",""); $cantidad_Reportar = contar_interacciones("$identificador","Reportar","",""); $cantidad_Mensaje = contar_interacciones("$identificador","Mensaje","",""); if(isset($_SESSION['id_empresa'])){ if($_SESSION['id_empresa'] == "$id_empresa") { $revisar_interacciones=" <div id='Comentar_$identificador' onclick=\"xajax_mostrar_interacciones('$identificador','todo','','mostrar_interacciones_$identificador');\" class='btn btn-info btn-xs' role='' title='Comentar' > <span class='fa fa-eye' aria-hidden='true'></span><span class='hidden-xs'><br> Mostrar </span> </div> "; } else {$revisar_interacciones="";} } if($tipo =="simple") { $menu =" <div id='botones-social_$identificador' class='btn-group botones_social interacciones_identificador' role='group' aria-label='botonera' > <div id='Gusta_$identificador' onclick=\"xajax_interaccion_identificador('$identificador','Gusta','',''); \"class='btn btn-primary btn-xs' role='' title='Me gusta'> <span class='badge' id='Gusta_cantidad_$identificador'>$cantidad_me_gusta</span> <span class='fa fa fa-thumbs-o-up' aria-hidden='true'></span><span class='hidden-xs'><br> Me gusta </span> </div> <div id='Comprometo_$identificador' onclick=\"xajax_interaccion_identificador('$identificador','Comprometo','',''); \" class='btn btn-success btn-xs' role='' title='Me comprometo' > <span class='badge' id='Comprometo_cantidad_$identificador'>$cantidad_me_comprometo</span> <span class='fa fa-handshake-o' aria-hidden='true'></span><span class='hidden-xs'><br> Me comprometo</span> </div> <div id='Comentar_$identificador' onclick=\"xajax_interaccion_identificador('$identificador','Comentar','',''); \" class='btn btn-warning btn-xs' role='' title='Comentar' > <span class='badge' id='Comentar_cantidad_$identificador'>$cantidad_Comentar</span> <span class='fa fa-comment-o' aria-hidden='true'></span><span class='hidden-xs'><br> Comentar </span> </div> $revisar_interacciones </div> "; } elseif($tipo =="check") { $form = remplacetas('form_datos','control',"$identificador",'form_id',"") ; ///$css = remplacetas('form_parametrizacion','campo',"index",'descripcion'," tabla='css' and opcion = 'bootstrap' and id_empresa = '$_SESSION[id_empresa]'") ; //onclick=\"xajax_parametrizacion_linea('form_id','$id','gusta','$autor_logueado','mensaje_$row[control]','','$row[control]'); //parametrizacion_linea($tabla,$campo,$opcion,$descripcion,$div,$script,$item) $valor = remplacetas('form_parametrizacion','campo',"$form[0]",'opcion'," tabla='form_id' and item = '$identificador' ") ; if($valor[0] ==1){$checked='checked'; }else{$checked='';} //$descripcion = array(); /* $descripcion['usuario'] = "usuario";$_SESSION['id']; $descripcion['timestamp'] = time(); $descripcion_json = json_encode($descripcion); */ //$json = json_encode("$valor"); // $descripcion="$_SESSION[id]|"; $menu=" <div class='form-check'> <label class='form-check-label' for='$identificador-$campo' > <input $checked class=' form-check-input' type='checkbox' value='$valor[0]' id='$identificador-$campo'name ='$identificador-$campo' onchange=\"$(this).attr('value', this.checked ? 1 : 0);xajax_parametrizacion_linea('form_id','$form[0]',(this.value),'$campo','check_$identificador-$campo','','$identificador') \"> <div class='hidden' id='check_$identificador-$campo'></div> </label> </div> "; } else{ $menu =" <div id='botones-social' class='btn-group btn-group-xs' role='group' aria-label='botonera'> <div id='Mensaje_$identificador' onclick=\"xajax_interaccion_identificador('$identificador','Mensaje','',''); \" class='btn btn-default' role='' ><span class='glyphicon glyphicon glyphicon glyphicon glyphicon-envelope' aria-hidden='true'></span> Mensaje <span class='badge' id='Mensaje_cantidad_$identificador'>$cantidad_Mensaje</span></div> <div id='Si_$identificador' onclick=\"xajax_interaccion_identificador('$identificador','Si','',''); \"class='btn btn-success' role='' ><span class='glyphicon glyphicon glyphicon glyphicon-thumbs-up' aria-hidden='true'></span> Si <span class='badge' id='Si_cantidad_$identificador'>$cantidad_Si</span></div> <div id='No_$identificador' onclick=\"xajax_interaccion_identificador('$identificador','No','',''); \" class='btn btn-warning' role='' ><span class='glyphicon glyphicon glyphicon glyphicon-thumbs-down' aria-hidden='true'></span> No <span class='badge' id='No_cantidad_$identificador'>$cantidad_No</span></div> <div id='Reportar_$identificador' onclick=\"xajax_interaccion_identificador('$identificador','Reportar','',''); \" class='btn btn-danger' role='' ><span class='glyphicon glyphicon glyphicon-remove-sign' aria-hidden='true'></span> Reportar <span class='badge' id='Reportar_cantidad_$identificador'>$cantidad_Reportar</span></div> <div id='Comentar_$identificador' onclick=\"xajax_interaccion_identificador('$identificador','Comentar','',''); \" class='btn btn-info' role='' ><span class='glyphicon glyphicon glyphicon glyphicon-pencil' aria-hidden='true'></span> Comentar <span class='badge' id='Comentar_cantidad_$identificador'>$cantidad_Comentar</span></div> <div class='btn btn-info' onclick=\"xajax_mostrar_interacciones('$identificador','Comentar','','mostrar_interacciones_$identificador');\">Mostrar</div> $revisar_interacciones </div> "; } return $menu; } /* elseif($accion=="Si") { } elseif($accion=="No") { } elseif($accion=="Compartir") { } */ else { if($_SESSION['id'] !="") { if($_SESSION["id"] !="") { $usuario="MILF-$_SESSION[id]";}else{ $usuario = "$_SESSION[control_usuario_milfs]"; } $existe = contar_interacciones("$identificador","$accion","$usuario"); if($existe < 1 OR $accion =="Comentar") { $formato=" <div class='barra_interaccion'> <form autocomplete='off' id ='formulario_interaccion' name ='formulario_interaccion'> <div class='input-group col-xs-12'> <label for='texto_interaccion'>Comentario</label> <textarea class='form-control' id='texto_interaccion' name='texto_interaccion' placeholder='Escribe tu comentario' ></textarea> </div> <br> <input type='hidden' value='$accion' id='tipo' name='tipo'> <input type='hidden' value='$identificador' id='identificador' name='identificador'> <div class='row'> <div class='col-xs-6'> <div data-dismiss='modal' onclick = \"xajax_limpia_div('muestra_form'); \"aria-hidden='true' class='btn btn-danger btn-block'>Cancelar</div> </div > <div class='col-xs-6'> <div onclick=\"xajax_interaccion_identificador(xajax.getFormValues('formulario_interaccion'),'Grabar','',''); \" class='btn btn-success btn-block'>Enviar</div> </div > </div> </form> </div> "; }else{ $formato= "<div class='alert alert-warning'><h2>Ya has dicho <quote>Me $accion</quote> </h2></div>"; } } else{ // require ("./milfs/includes/parametrizacion.php"); /// SI EL USUARIO NO ESTA LOGUEADO //$login = milfs_session("$login_formulario","$login_campo_usuario","$login_campo_password","boton","","div_interacciones"); $login = revisar_ingreso(''); $formato =" <div id='div_interacciones'> <div class='alert alert-success'><h2>Por favor ingresa para <b>$accion</b></h2> <div id='div_login' class=''> $login </div> </div> </div> "; } } //$div_contenido = "<div id='$div'>$div</div>"; $respuesta->addAssign("muestra_form","innerHTML","$formato"); $respuesta->addAssign("modal_landing","className","modal-dialog modal-xs"); $respuesta->addAssign("titulo_modal","innerHTML","<h2>$accion <small>$_SESSION[nombre_usuario_milfs]<small> </h2> "); //$respuesta->addAssign("pie_modal","innerHTML","$pie"); //$respuesta->addAssign("$div","innerHTML","$resultado"); ///$respuesta->addscript("$('#muestraInfo').modal('toggle')"); $respuesta->addScript("$('#muestraInfo').removeClass('fade').modal('hide')"); $respuesta->addScript("$('#muestraInfo').modal('toggle')"); return $respuesta; } $xajax->registerFunction("interaccion_identificador"); function revisar_ingreso($formulario){ $recordar=""; $sucursal=""; $resultado=""; $formulario = mysql_seguridad($formulario); if($formulario =="") { $formulario =" <form class='form-horizontal' id='form-contacto' name='form-contacto' > <fieldset> <label class='' for='email'>Correo o usuario</label> <div class='input-group' id='grupo_email'> <span class='input-group-addon'><i class='glyphicon glyphicon-user fa-fw'></i></span> <input id='email'name='email' class='form-control input-large' type='email' placeholder ='Correo o usuario'> </div> <!-- Text input--> <label class='control-label' for='password'>Clave</label> <div class='input-group' > <span class='input-group-addon'><i class='glyphicon glyphicon-lock fa-fw'></i></span> <input class='form-control input-large' id='password' name='password' type='password' placeholder='clave' required='' > </div> <div class='input-group'> <label for='recordar'>No recuerdo mi clave <input type='radio' value ='1' id='recordar' name='recordar' > </div> </fieldset> </form> "; $resultado = " <div id='login_ok'> $formulario <!-- Button --> <div class='control-group'> <label class='control-label' for='signin'></label> <div class='controls'> <button id='ingresar' name='ingresar' class='btn btn-success btn-block' onclick=\"xajax_revisar_ingreso(xajax.getFormValues('form-contacto')) \">Ingresar</button> </div> <div > ¿Nuevo usuario? <button id='ingresar' name='ingresar' class='btn btn-warning btn-block' onclick=\"xajax_registro_express('','nuevo');\" ; >Regístrate</button> </div> </div> <br> <div id='login_info'></div> </div> "; if(!isset($_SESSION['id'])){ print $resultado; return;}else { //print $nuevo ; } return $resultado; } include("milfs/includes/datos.php"); if(!isset($tabla_autenticacion)){ include("includes/datos.php"); } $div='contenido'; $respuesta = new xajaxResponse('utf-8'); $email = $formulario['email']; $recordar = @$formulario['recordar']; if($email =='') { $respuesta->addAlert("Ingresa tu nombre de usuario o email"); return $respuesta; } if($formulario['password'] =='' AND $recordar =='') { $respuesta->addAlert("Ingresa tu clave"); return $respuesta; } $password= MD5($formulario['password']); $link=Conectarse(); mysqli_set_charset($link, "utf8"); if($recordar =='1') { if($email =='') { $tipo='danger'; $mensaje ="Por favor escribe tu <strong>correo o usuario</strong> si olvidaste tu clave."; $respuesta->addAssign($div,"innerHTML",$mensaje); return $respuesta; }else { $consulta = "SELECT id,email,control,id_empresa FROM $tabla_autenticacion WHERE (email = '$email' OR username = '$email' )"; $sql=mysqli_query($link,$consulta); if (mysqli_num_rows($sql)!='0') { $firma_recuperacion = sha1("$control".mktime().""); $correo = mysqli_result($sql,0,"email"); $control = mysqli_result($sql,0,"control"); $id_usuario = mysqli_result($sql,0,"id"); $id_empresa = mysqli_result($sql,0,"id_empresa"); $firma ="UPDATE $tabla_autenticacion SET `firma_recuperacion` = '$firma_recuperacion' WHERE $tabla_autenticacion.`id` = '$id_usuario';"; $cambiar_firma=mysqli_query($link,$firma); $tipo='success'; $direccion = remplacetas("empresa","id",$id_empresa,"direccion",""); $telefono = remplacetas("empresa","id",$id_empresa,"telefono",""); $web = remplacetas("empresa","id",$id_empresa,"web",""); $email = remplacetas("empresa","id","1","email",""); $imagen = remplacetas("empresa","id",$id_empresa,"imagen",""); $razon_social = remplacetas("empresa","id",$id_empresa,"razon_social",""); $slogan = remplacetas("empresa","id",$id_empresa,"slogan",""); $headers = "MIME-Version: 1.0\r\n"; $headers .= "Content-type: text/html; charset=iso-8859-1\r\n"; $headers .= "From: $razon_social[0] <$email[0]>\r\n"; $headers .= "Reply-To: $email[0]\r\n"; $headers .= "Return-path: $email[0]\r\n"; $asunto= "Cambio de clave"; $cuerpo =" $razon_social[0] <div style='border: solid 1px; padding:20px ; border-radius: 10px; background-color:#E6F8E0 '> <h1>$razon_social[0]</h1> <hr /> <p>Se ha solicitado un cambio de clave para tu usuario.<br /> Si fuiste tu quien lo solicitó, sigue este <a href='http://$_SERVER[HTTP_HOST]/milfs/index.php?change=$firma_recuperacion'>enlace</a> para realizar el cambio.</p> http://$_SERVER[HTTP_HOST]/milfs/index.php?change=$firma_recuperacion <h3>Si no solicitaste el cambio, por favor comunícalo respondiendo este correo.</h3> </div> "; $mensaje =" Enviamos un correo con la confirmación a $correo"; mail("$correo","$asunto","$cuerpo","$headers") ; }else { $tipo='danger'; $mensaje ="El <strong>correo o usuario</strong> no se encuentra registrado."; } } $resultado ="<div class='alert alert-$tipo'>$mensaje</div>"; $respuesta->addAssign($div,"innerHTML",$resultado); return $respuesta; } //$consulta = "SELECT * FROM $tabla_autenticacion WHERE (email = '$email' OR username = '$email' )AND passwd = '$password' LIMIT 1"; $consulta= "SELECT *, $tabla_autenticacion.id AS id_usuario FROM $tabla_autenticacion, usuarios_grupo WHERE (email = '$email' OR username = '$email' )AND passwd = '$password' AND $tabla_autenticacion.id_grupo = usuarios_grupo.id LIMIT 1"; //$respuesta->addAssign("login_info","innerHTML",$consulta); //return $respuesta; $sql=mysqli_query($link,$consulta); if($sql){ if (mysqli_num_rows($sql)!='0'){ if(mysqli_result($sql,0,"status") === '0' ) { $resultado = " <div class='alert alert-danger' > Aún no se ha confirmado tu email, por favor revisa tu correo</p> </div >"; //$div ="login_ok"; } else { $id_usuario = mysqli_result($sql,0,"id_usuario"); $ip_local= $ip_local; $ipes = remplacetas('form_parametrizacion','campo',$id_usuario,'descripcion'," tabla='usuarios' AND opcion='ipes'") ; $real_ip = getRealIP(); $rango_real= explode(".","$real_ip"); $rango_local= explode(".","$ip_local"); if($ipes[0] =="" OR $ipes[0] =="internet") { $autorizacion ="autorizado";} elseif($ipes[0] =="local" AND ($rango_local[0] != $rango_real[0] )) { $autorizacion ="Autorizado solo para acceso local / $ipes[0] / $rango_local[0] != $rango_real[0] ";} elseif(filter_var($ipes[0], FILTER_VALIDATE_IP)) { if($ipes[0] == $real_ip) { $autorizacion ="autorizado"; }else{ $autorizacion ="Localización no autorizada";} } else{$autorizacion="autorizado";} if( $autorizacion !="autorizado") { $resultado = " <div class='alert alert-danger' > <h1>$autorizacion</h1> <a href='./' class='btn btn-danger btn-sm'><h2>Intentar de nuevo</h2></a> </div >"; $respuesta->addAssign($div,"innerHTML",$resultado); return $respuesta; } //session_destroy(); $_SESSION = array(); $_SESSION['username']= mysqli_result($sql,0,"username"); $_SESSION['id']= mysqli_result($sql,0,"id_usuario"); $_SESSION['grupo']= mysqli_result($sql,0,"id_grupo"); $_SESSION['equipo']= mysqli_result($sql,0,"equipo"); $_SESSION['tabla_autenticacion']= "$tabla_autenticacion"; $_SESSION['prioridad'] = mysqli_result($sql,0,"prioridad"); $_SESSION['id_empresa']= mysqli_result($sql,0,"id_empresa"); $_SESSION[$usuarios_sesion]= "$usuarios_sesion"; $_SESSION['site']= "$url"; //$_SESSION['ip_local']= "$ip_local"; $_SESSION['autorizacion']= "$autorizacion"; //$_SESSION['consulta']= "$consulta"; $div = "div_login"; $resultado .=" $sucursal <div class=' alert alert-success'><h3><b>Hola $_SESSION[username] </b</h3></div>"; //$url=urlencode('../index.php'); //$respuesta->addRedirect("$_SESSION[site]"); $respuesta->addScript("window.location='./'"); // $respuesta->addAssign($div,"innerHTML",$resultado); //header("Location: ../"); //return; } } else{ $resultado = " <div class='alert alert-danger' > Los datos no son correctos, por favor rectifica o ponte en contacto con el administrador para mas información.<br></p> <a href='./' class='btn btn-danger btn-sm'><h2>Intentar de nuevo</h2></a> </div >"; $respuesta->addAssign($div,"innerHTML",$resultado); return $respuesta; } }else{ } $respuesta->addAssign($div,"innerHTML",$resultado); return $respuesta; } $xajax->registerFunction("revisar_ingreso"); function eliminar_identificador($identificador,$accion,$formulario) { $respuesta = new xajaxResponse('utf-8'); $div="eliminar_$identificador"; if($accion =="") { $resultado=" <div class='alert alert-danger'> <h2>Se eliminará definitivamente este registro</h2> <div class='row '> <a class='col-md-6 btn btn-danger btn-xs' onclick=\"xajax_eliminar_identificador('$identificador','eliminar','$formulario'); \" href='#'><i class='glyphicon glyphicon-trash'></i> Eliminar</a> <a class='col-md-6 btn btn-warning btn-xs' onclick=\"xajax_limpia_div('$div'); ; \" href='#'><i class='glyphicon glyphicon-remove-sign'></i> Cancelar</a> </div> </div> "; } if($accion =="eliminar") { $consulta_eliminar="DELETE FROM `form_datos` WHERE `form_datos`.`control` = '$identificador' AND form_id='$formulario' "; $link=Conectarse(); mysqli_set_charset($link, "utf8"); mysqli_real_escape_string($link,$consulta_eliminar); $sql_borrar=mysqli_query($link,$consulta_eliminar); if($sql_borrar) { $resultado =" <div class='alert alert-success'> <p><i class='glyphicon glyphicon-smile-o'></i> Se eliminó definitivamente este registro.<br><b>Por favor actualice esta vista</b></p> </div> "; } else { $resultado =" <div class='alert alert-warning'> <p><i class='glyphicon glyphicon-meh-o'></i> Algo salió mal, quizá el registro ya había sido eliminado <small> Por favor actualice esta vista </small></p> </div> "; } } $respuesta->addAssign("$div","innerHTML","$resultado"); return $respuesta; } $xajax->registerFunction("eliminar_identificador"); function mover_formulario($formulario,$id_empresa,$tipo){ $div ="div_mover"; $error =""; if($tipo =="formato") { if($_SESSION['id'] == '1') { //// solo el desadministrador puedemover formualarios $w_empresa = ""; $empresas = select('empresa','id','razon_social','',"",'Proyecto_mover',""); $empresa =" <div class='form-group col-md-6'> <label for='Proyecto_mover'>Seleccione proyecto</label> $empresas </div> "; $cols ="6"; $formularios = select('form_id','id','nombre','',"$w_empresa",'Formulario_mover',""); ///<div id="collapseOne" class="panel-collapse collapse in" role="tabpanel" aria-labelledby="headingOne"> $resultado=" <div id='panel_mover' class='panel panel-collapse collapse in panel-default' role='tabpanel' aria-labelledby='encabezado_mover' > <div class='panel-heading'> <a data-parent='#accordion_accion_formulario' class='btn btn-success' role='button' data-toggle='collapse' href='#panel_move' aria-expanded='false' aria-controls='collapseExample'> <i class='glyphicon glyphicon-arrows'></i> Mover </a> <span class='panel-title'> El formulario y su contenido se moverán al proyecto seleccionado</span> </div> <div class='panel-body collapse' id='panel_move'> <div class='form-group col-md-$cols'> <label for='Formulario_mover'>Seleccione formulario</label> $formularios </div> $empresa <div class='form-group col-md-12'> <div class='text-warning'><b>*</b> Todos los campos son obligatorios</div> <div class='btn btn-default btn-block' onclick = \"xajax_mover_formulario(document.getElementById('Formulario_mover').value,document.getElementById('Proyecto_mover').value,'mover'); \"><i class='glyphicon glyphicon-floppy-disk'></i> Mover</div> </div> <div id='$div'></div> </div> </div> "; return $resultado; }else { return $resultado; } } $respuesta = new xajaxResponse('utf-8'); /* $revisar_nombre = remplacetas('form_id','nombre',"$nuevo_nombre",'nombre'," id_empresa = '$id_empresa'") ; if($revisar_nombre[0] !="") { $error ="Existe un formulario con el nombre <strong>$nuevo_nombre</strong> en ese proyecto.";} */ if( $formulario =="" or $id_empresa =="" ) { $error ="Asegúrese de que ningún campo esté vacío. $formulario // $id_empresa";} if($error !="") { $resultado ="<div class='alert alert-warning'><h1>$error</h1></div>"; $respuesta->addAssign("$div","innerHTML","$resultado"); return $respuesta; } $link=Conectarse(); mysqli_set_charset($link, "utf8"); mysqli_real_escape_string($link,$nuevo_nombre); // $descripcion = remplacetas('form_id','id',$formulario,'descripcion','') ; $consulta_update_form = "UPDATE form_id SET id_empresa= '$id_empresa' WHERE id = '$formulario' LIMIT 1"; $sql_update=mysqli_query($link,$consulta_update_form); $consulta_update_campos = "UPDATE form_datos SET id_empresa= '$id_empresa' WHERE form_id = '$formulario' "; $sql_update_campos=mysqli_query($link,$consulta_update_campos); if($sql_update_campos){ if (mysqli_affected_rows($sql_update_campos)!='0'){ $cantidad = mysqli_affected_rows(); $nombre = remplacetas('form_id','id',"$formulario",'nombre'," id_empresa = '$id_empresa'") ; } } $resultado =" <div class='alert alert-success'> <h2>Se movió el formulario <strong>$nombre[0]</strong> y sus <strong>$cantidad</strong> registros. <a href='#' onclick=\"xajax_formulario_listado('','contenido',''); \"><i class='glyphicon glyphicon-refresh'></i> Actualizar</a></h2> </div>"; $respuesta->addAssign("$div","innerHTML","$resultado"); return $respuesta; } $xajax->registerFunction("mover_formulario"); function clonar_formulario($formulario,$id_empresa,$nuevo_nombre,$descripcion,$tipo){ $div ="div_clonar"; $values_plantilla=""; $values=""; $error =""; $grupo = remplacetas('form_id',"id","$formulario",'nombre',"") ; $grupo = strip_tags($grupo[0]); if($tipo =="formato") { if($_SESSION['id'] == '1') { $w_empresa = ""; $empresas = select('empresa','id','razon_social','',"",'Proyecto',""); $empresa =" <div class='form-group col-md-4'> <label for='empresa'>Seleccione proyecto</label> $empresas </div> "; $cols ="4"; }else { $empresa ="<input type='hidden' value='' name='Proyecto' id='Proyecto'>"; $w_empresa = "id_empresa = '$_SESSION[id_empresa]'"; $cols="6"; } $formularios = select('form_id','id','nombre','',"$w_empresa",'Formulario',""); $resultado=" <div id='panel_clonar' class='panel panel-collapse collapse in panel-default' role='tabpanel' aria-labelledby='encabezado_clonar' > <div class='panel-heading'> <a data-parent='#accordion_accion_formulario' class='btn btn-success' id='form_btn_clone' role='button' data-toggle='collapse' href='#panel_clone' aria-expanded='false' aria-controls='collapseExample'> <i class='glyphicon glyphicon-clone'></i> Clonar</a> <span class='panel-title'>Se copiará la estructura del formulario pero no su contenido.</span> </div> <div class='panel-body collapse' id='panel_clone'> <div class='form-group col-md-$cols'> <label for='formulario'>Seleccione formulario</label> $formularios </div> $empresa <div class='form-group col-md-$cols'> <label for='nuevo_nombre'>Nombre </label> <input class='form-control' id='nuevo_nombre' name='nuevo_nombre' placeholder='Nombre que tendrá el formulario nuevo' > </div> <div class='form-group col-md-12'> <div class='text-warning'><b>*</b> Todos los campos son obligatorios</div> <div class='btn btn-default btn-block' onclick = \"xajax_clonar_formulario(document.getElementById('Formulario').value,document.getElementById('Proyecto').value,document.getElementById('nuevo_nombre').value,'','clonar'); \"><i class='glyphicon glyphicon-floppy-disk'></i> Clonar</div> </div> <div id='$div'></div> </div> </div> "; return $resultado; } if($id_empresa =="") { if(isset($_SESSION['id_empresa'])){$id_empresa= $_SESSION['id_empresa'];} else {$id_empresa = "1";} } $respuesta = new xajaxResponse('utf-8'); //$revisar_nombre = remplacetas('form_id','nombre',"$nuevo_nombre",'nombre'," id_empresa = '$id_empresa'") ; //if($revisar_nombre[0] !="") { $error ="Existe un formulario con el nombre <strong>$nuevo_nombre</strong> en ese proyecto.";} if( $formulario =="" or $nuevo_nombre =="" ) { $error ="Asegúrese de que ningún campo esté vacío.";} if($error !="") { $resultado ="<div class='alert alert-warning'><h1>$error</h1></div>"; $respuesta->addAssign("$div","innerHTML","$resultado"); return $respuesta; } $link=Conectarse(); mysqli_set_charset($link, "utf8"); mysqli_real_escape_string($link,$nuevo_nombre); if($descripcion =="") { $descripcion = remplacetas('form_id','id',$formulario,'descripcion','') ; $descripcion =$descripcion[0]; } $modificable = remplacetas('form_id','id',$formulario,'modificable','') ; $publico = remplacetas('form_id','id',$formulario,'publico','') ; /// establecer propietario para el nuevo form if(!isset($_SESSION['id_empresa'])){ $validar_email = verificacion_email("$_SESSION[nombre_usuario_milfs]",'','verificar'); } if(isset($_SESSION['nombre_usuario_milfs']) AND $validar_email !="") { $id_usuario = "$validar_email"; } else { $id_usuario = "$_SESSION[id]"; } $consulta_insert = "INSERT INTO `form_id` ( `nombre`, `descripcion`, `activo`, `modificable`, `publico`, `propietario`, `formulario_respuesta`, `id_empresa`) VALUES ('$nuevo_nombre', '$descripcion', '1', '$modificable[0]', '$publico[0]', '$id_usuario','','$id_empresa')"; $sql_insert=mysqli_query($link,$consulta_insert); $ultimo_id = mysqli_insert_id($link); $consulta_grupo = "INSERT INTO form_grupo set id = '$ultimo_id',grupo = '$grupo' ,id_empresa= '$id_empresa'"; $sql_grupo=mysqli_query($link,$consulta_grupo); //// CLONAR CAMPOS $consulta="SELECT * FROM form_contenido_campos WHERE id_form ='$formulario'"; $sql=mysqli_query($link,$consulta); if($sql){ if (mysqli_num_rows($sql)!='0'){ mysqli_data_seek($sql, 0); while( $row = mysqli_fetch_array( $sql ) ) { $control = md5(rand(1,99999999).microtime()); $values .= "('$row[id_campo]','$id_empresa','$ultimo_id', '$row[obligatorio]', '$row[multiple]', '$row[orden]', '$control'),"; } $values = substr($values, 0, -1); $values = "(`id_campo`, `id_empresa`, `id_form`, `obligatorio`, `multiple`,`orden`,`control`) VALUES $values "; } $consulta_insertar_campos = "INSERT INTO form_contenido_campos $values "; $sql_insert_campos=mysqli_query($link,$consulta_insertar_campos); } /// FIN DE CLONAR CAMPOS /// CONAR PLANTILLAS $consulta_plantillas="SELECT * FROM form_parametrizacion WHERE tabla= 'form_id' AND campo ='$formulario'"; $sql=mysqli_query($link,$consulta_plantillas); if($sql){ if (mysqli_num_rows($sql)!='0'){ mysqli_data_seek($sql, 0); while( $row = mysqli_fetch_array( $sql ) ) { $control = md5(rand(1,99999999).microtime()); $values_plantilla .= "('$row[tabla]','$ultimo_id','$row[opcion]','".mysqli_real_escape_string($link,$row['descripcion'])."','$row[visible]','$id_empresa'),"; } $values_plantilla = substr($values_plantilla, 0, -1); $values_plantilla = "(`tabla`, `campo`, `opcion`, `descripcion`, `visible`,`id_empresa`) VALUES $values_plantilla "; } $consulta_insertar_plantilla = "INSERT INTO form_parametrizacion $values_plantilla "; $sql_insert_plantillas=mysqli_query($link,$consulta_insertar_plantilla); } //// FIN DE CLONAR PLANTILLAS if($tipo=="aplicacion") { $div="asistente_aplicacion"; $resultado =" <div class='alert alert-success text-center'> <h1><i class='glyphicon glyphicon-smile-o'></i> <br>Felicidades tu aplicación <br> <strong>'$nuevo_nombre'</strong> <br>fue creada y ahora está disponible en </h1> <a style='word-wrap: break-word; ' target='aplicacion' href='$_SESSION[site]a$ultimo_id' > <img src='https://qwerty.co/qr/?d=$_SESSION[site]a$ultimo_id'><br>$_SESSION[site]a$ultimo_id <i class='glyphicon glyphicon-external-link-square'></i> </a> </div>"; $respuesta->addAssign("$div","innerHTML","$resultado"); return $respuesta; } $resultado ="<div class='alert alert-success'><h1>El formulario <strong>'$nuevo_nombre'</strong> se grabó <a href='#' onclick=\"xajax_formulario_listado('','contenido',''); \"><i class='glyphicon glyphicon-refresh'></i> Actualizar</a></h1></div>"; $respuesta->addAssign("$div","innerHTML","$resultado"); return $respuesta; } $xajax->registerFunction("clonar_formulario"); function parametrizacion_css($tipo,$url,$accion) { if($accion =="") { $css = remplacetas('form_parametrizacion','campo',"index",'descripcion'," tabla='css' and opcion = 'bootstrap' and id_empresa = '$_SESSION[id_empresa]'") ; $css_adicional = remplacetas('form_parametrizacion','campo',"index",'descripcion'," tabla='css' and opcion = 'adicional' and id_empresa = '$_SESSION[id_empresa]'") ; $resultado=" <br> <legend>Estilos</legend> <div id='div_css' class ='text-success'></div> <div class='input-group'> <span class='input-group-addon'> CSS para tema bootstrap </span> <input placeholder='https://https://bootsw... ' value='$css[0]' id='css_url' name='css_url' type='url' class='form-control'> <span class='input-group-btn'> <div class='btn btn-default btn-warning ' onclick=\"xajax_parametrizacion_linea('css','index','bootstrap',document.getElementById('css_url').value,'div_css'); \"><i class='glyphicon glyphicon-floppy-disk'></i> Grabar</div> </div> </div> <div class='input-group col-md-12'> <label for='css_adicional'>CSS adicional</label> <textarea style='width:100%' id='css_adicional' name='css_adicional' class='form-control' placeholder ='Escriba css valido'>$css_adicional[0]</textarea> </div> <div class='input-group pull-right'> <div class=' btn btn-default btn-warning ' onclick=\"xajax_parametrizacion_linea('css','index','adicional',document.getElementById('css_adicional').value,'div_css_adicional'); \"><i class='glyphicon glyphicon-floppy-disk'></i> Grabar</div> </div> </div> <pre style='max-height: 300px; overflow:auto ' id='div_css_adicional' class ='text-success'>/* HOJA DE ESTILOS CSS ACTUAL */ $css_adicional[0] </pre> "; } return $resultado; } function mas_visto($tipo,$limite,$divider,$form,$empresa) { $resultado= ""; $contenido= ""; if($divider =="" ) { $divider =6;} $cols = (12/$divider); $titulo[]=""; if ($form !=""){ $w_form = "AND form_id='$form' ";}else{ $w_form="";} if($tipo =="ultimos") { $titulo="Lo Último"; $consulta ="SELECT * FROM `form_datos`, form_id WHERE `form_datos`.form_id = form_id.id AND form_id.publico = '1' $w_form GROUP BY form_datos.control ORDER BY form_datos.timestamp DESC LIMIT $limite"; } elseif($tipo =="aleatorios" ){ $tipo = "ultimos"; $titulo="TE INTERESA"; $consulta ="SELECT * FROM `form_datos`, form_id WHERE `form_datos`.form_id = form_id.id AND form_id.publico = '1' $w_form GROUP BY form_datos.control ORDER BY RAND() LIMIT $limite"; } else{ $consulta ="SELECT * FROM `form_parametrizacion` WHERE `opcion` LIKE '$tipo' ORDER BY CAST(descripcion AS SIGNED ) DESC LIMIT $limite"; } $link=Conectarse(); //mysqli_set_charset($link, "utf8"); mysqli_set_charset($link, "utf8"); $sql=mysqli_query($link,$consulta); if($sql){ // if (mysqli_num_rows($sql)!='0'){ if (mysqli_num_rows($sql)!='0'){ if($tipo =='identificador') { while( $row = mysqli_fetch_array( $sql ) ) { $formulario = remplacetas('form_datos','control',"$row[campo]",'form_id',"") ; $formulario_titulo = remplacetas('form_id','id',"$formulario[0]",'nombre',"") ; $campo_imagen = buscar_campo_tipo("$formulario[0]","15"); $campo_titulo = remplacetas('form_parametrizacion','campo',$formulario[0],'descripcion'," tabla='form_id' and opcion = 'titulo'") ; $imagen = remplacetas('form_datos','id_campo',$campo_imagen[0],'contenido'," control = '$row[campo]' ") ; $titulo = remplacetas('form_datos','id_campo',$campo_titulo[0],'contenido'," control = '$row[campo]' ") ; if($titulo[0] =="") { $titulo = remplacetas('form_datos','control',$row['campo'],'contenido'," id_campo != '$campo_imagen[0]' ") ; } //$impresion = mostrar_identificador("$row[campo]","","landingpage","",""); $contenido .= " <article class='col-lg-$cols col-md-$cols col-sm-$cols col-xs-6 col-xxs-12 animate-box mas_visto'> <figure class='vistos_figure'> <a href='i$row[campo]'> <img style=' max-height:320px;' class=' img-responsive img-rounded ' src ='milfs/images/secure/?file=300/$imagen[0]'> </a> </figure> <span class='vistos_encabezado'><a href='i$row[campo]'>$formulario_titulo[0] </a> <span class=' fh5co-date'><i class='glyphicon glyphicon-eye-open'></i> $row[descripcion]</span> </span> <h4 style='word-wrap: break-word; ' class='fh5co-article-title'><a href='i$row[campo]'>$titulo[0]</a></h4> </article> "; } $resultado = " <legend class='text-center'>LO MAS VISTO</legend> $contenido "; } elseif($tipo =='formulario') { while( $row = mysqli_fetch_array( $sql ) ) { $formulario_titulo = remplacetas('form_id','id',"$row[campo]",'nombre',"") ; $formulario_empresa = remplacetas('form_id','id',"$row[campo]",'id_empresa',"") ; $empresa_logo = remplacetas('empresa','id',"$formulario_empresa[0]",'imagen',"") ; $contenido .= " <article class='col-lg-$cols col-md-$cols col-sm-$cols col-xs-6 col-xxs-12 animate-box'> <figure> <a href='I$row[campo]'> <img style=' max-height:320px;' class=' img-responsive img-rounded' src ='milfs/images/secure/?file=300/$empresa_logo[0]'> </a> </figure> <span class='fh5co-meta'><a href='a$row[campo]'>$formulario_titulo[0]</a> <span class=' fh5co-date'><i class='glyphicon glyphicon-eye-open'></i> $row[descripcion]</span> </span> <h4 style='word-wrap: break-word; ' class='fh5co-article-title'><a href='a$row[campo]'>$titulo[0]</a></h4> </article> "; } $resultado = " <legend class='text-center'>PROYECTOS MAS ACTIVOS</legend> $contenido "; } elseif($tipo =='ultimos') { //while( $row = mysqli_fetch_array( $sql ) ) { while( $row = mysqli_fetch_array( $sql ) ) { if($form ==""){ $datos_formulario =" <h4 style='word-wrap: break-word; ' class='article-title'><a href='i$row[control]'>$row[nombre]</a></h4>";} else{$datos_formulario ="";} //$formulario = remplacetas('form_datos','control',"$row[control]",'form_id',"") ; //$formulario_titulo = remplacetas('form_id','id',"$formulario[0]",'nombre',"") ; $campo_imagen = buscar_campo_tipo("$row[form_id]","15"); $campo_titulo = remplacetas('form_parametrizacion','campo',$row['form_id'],'descripcion'," tabla='form_id' and opcion = 'titulo'") ; $titulo_post = remplacetas('form_datos','id_campo',$campo_titulo[0],'contenido'," control = '$row[control]' ") ; if($campo_imagen[0] =="") { $imagen = remplacetas('empresa','id',"$row[id_empresa]",'imagen',"") ; }else{ $imagen = remplacetas('form_datos','id_campo',$campo_imagen[0],'contenido'," control = '$row[control]' ") ; if($imagen[0]=="") { $imagen = remplacetas('empresa','id',"$row[id_empresa]",'imagen',"") ; } //$impresion = mostrar_identificador("$row[campo]","","landingpage","",""); } $contenido_campo =strip_tags($row['contenido']); $maximo ="50"; $size= strlen($contenido_campo); if($size > $maximo) { $contenido_campo =substr($contenido_campo,0,$maximo)."... "; } $contenido .= " <article class='col-lg-$cols col-md-$cols col-sm-$cols col-xs-6 col-xxs-12 animate-box lo_ultimo'> <figure> <a href='i$row[control]'> <img style=' max-height:350px;' class=' img-responsive img-rounded' src ='milfs/images/secure/?file=150/$imagen[0]'> </a> </figure> <span class='fh5co-meta'><a href='i$row[control]'>$titulo_post[0] </a></span> $datos_formulario </article> "; } $resultado = " <legend class='text-center titulo_seccion'>$titulo</legend> $contenido"; } else{} } } return $resultado; } function social_login($accion,$servicio,$uid) { $resultado=""; require ("./milfs/includes/parametrizacion.php"); $control_uid = remplacetas('form_datos','form_id',"$login_formulario",'control'," BINARY contenido = '$uid' AND id_campo = '$social_login_uid'") ; $control_servicio = remplacetas('form_datos','form_id',"$login_formulario",'control'," BINARY contenido = '$servicio' AND control = '$control_uid[0]'") ; $usuario = remplacetas('form_datos','control',"$control_servicio[0]","contenido","id_campo = '$login_campo_usuario'") ; $nombre_usuario = remplacetas('form_datos','control',"$control_servicio[0]","contenido"," id_campo = '$login_campo_nombres'") ; $avatar_usuario = remplacetas('form_datos','control',"$control_servicio[0]","contenido","id_campo = '$login_campo_avatar'") ; if($accion == "consultar") { if($control_servicio[0] != "") { $resultado ="Existe $control_servicio[0] "; } else { $resultado =""; } } elseif($accion =="login") { if($control_servicio[0] != "") { $_SESSION['usuario_milfs'] = "$usuario[0]"; $_SESSION['nombre_usuario_milfs'] = "$nombre_usuario[0]"; $_SESSION['control_usuario_milfs'] = "$control_servicio[0]"; $_SESSION['avatar_usuario_milfs'] = "$avatar_usuario[0]"; header("Location: ./"); die(); } else{ session_destroy(); header("Location: ./"); die(); } } else{$resultado ="";} return $resultado; } function campo_privacidad($opcion,$id_campo,$form,$accion) { //return $array; $link=Conectarse(); mysqli_set_charset($link, "utf8"); $respuesta = new xajaxResponse('utf-8'); if($accion =='grabar'){ $limpiar ="DELETE FROM `form_parametrizacion` WHERE tabla = 'form_id' AND campo ='$form' AND descripcion='$id_campo' AND opcion like 'privacidad:%' AND id_empresa = '$_SESSION[id_empresa]' LIMIT 1 "; $sql=mysqli_query($link,$limpiar); $consulta= "INSERT INTO form_parametrizacion set tabla='form_id', campo = '$form', opcion ='privacidad:$opcion' , descripcion ='$id_campo' ,visible='0', id_empresa = '$_SESSION[id_empresa]'"; } // return $consulta; $sql=mysqli_query($link,$consulta); if($sql){ if($opcion == '1') { $mensaje = "El campo ahora es privado y NO se mostrará su contenido";} else { $mensaje = "El campo ahora ES PÚBLICO y SE MOSTRARÁ su contenido";} //$respuesta->addAssign("mostrar_resultado","innerHTML","$resultado"); $respuesta->addAlert("ATENCION: $mensaje"); return $respuesta; }else { //$respuesta->addAlert("$consulta"); //$respuesta->addAssign("debug","innerHTML","$consulta"); //return $respuesta; } } $xajax->registerFunction("campo_privacidad"); function respuestas_formulario($id,$identificador,$plantilla) { $formulario_respuesta = formulario_respuesta("$id","$identificador"); $consulta = "SELECT form_id , timestamp FROM form_datos WHERE control = '$identificador' AND form_id != '$id' GROUP BY form_id , timestamp ORDER by timestamp DESC "; $link=Conectarse(); mysqli_set_charset($link, "utf8"); $sql=mysqli_query($link,$consulta); $resultado =""; if (mysqli_num_rows($sql)!='0'){ mysqli_data_seek($sql, 0); while( $row = mysqli_fetch_array( $sql ) ) { $respuesta = mostrar_identificador("$identificador","$row[form_id]","respuesta","simple","$row[timestamp]"); $fecha = date("Y-m-d H:i:s", $row['timestamp']); $aplicacion= remplacetas('form_id','id',"$row[form_id]","nombre",""); $aplicacion_descripcion= remplacetas('form_id','id',"$row[form_id]","descripcion",""); $resultado .= "<div class='respuesta'><legend class=' hidden formulario_respuesta_nombre'>$aplicacion[0] <span class='formulario_respuesta_nombre'>$aplicacion_descripcion[0]</span></legend> $respuesta</div><hr> "; } $resultado .=""; }else{$resultado ="";} $resultado = "<div class='respuestas'>$resultado $formulario_respuesta</div><br>"; return "$resultado"; } function formulario_respuesta($id,$identificador) { if($id=='') {return;} $id = mysql_seguridad($id); $consulta = "SELECT * FROM form_id WHERE formulario_respuesta = '$id' "; $link=Conectarse(); mysqli_set_charset($link, "utf8"); $sql=mysqli_query($link,$consulta); if (mysqli_num_rows($sql)!='0'){ mysqli_data_seek($sql, 0); $resultado =" <div class='formulario_respuesta_contenedor'>"; while( $row = mysqli_fetch_array( $sql ) ) { $descripcion =substr($row['descripcion'],0, $length = 80); $caracteres = strlen("$descripcion"); if($caracteres > 80) { $descripcion= "$descripcion ... ";} $resultado .= "<div id='btn_anidadox' class='respuesta_lineax'><a class='btn btn-success ' style=' nombre_boton_anidado word-wrap: break-word; 'onclick = \"xajax_formulario_embebido_ajax('','$row[id]','$identificador','respuesta') \" title='$row[descripcion]' > $row[nombre] <small class='descripcion_boton_anidado'>$descripcion</small> </a> </div> "; } $resultado .="</div>"; }else{$resultado ="";} return $resultado; } function consultar_contenido_formulario($form,$registros,$pagina,$tipo,$orden,$plantilla){ $linea_li=""; $linea_planilla=""; if($plantilla=="") { $plantilla="landingpage";} if(isset($_SESSION['proceso'])) { $filtro_proceso ="AND proceso='$_SESSION[proceso]' "; }else{ $filtro_proceso =" ";} $usuario_datos =""; $imagen =""; $acciones =""; $filtro =""; $filtro_generico =""; $origen =""; $busca =""; $agregar =""; $busqueda =""; $fechas =""; $campo =""; $campo_filtro =""; $lineas =""; $linea =""; $linea_listado =""; $formato =""; $href_4=""; $href_5=""; $listado_nombres =""; if(isset($_REQUEST['orden'])) { $orden= "$_REQUEST[orden]";} if(isset($_REQUEST['registros'])) { $registros= "$_REQUEST[registros]";}else{$registros='10';} if(isset($_REQUEST['pagina'])) { $pagina= "$_REQUEST[pagina]";} if(isset($_REQUEST['v'])) { $origen= "$_REQUEST[v]";} $campo_orden = remplacetas('form_parametrizacion','campo',"$form",'descripcion'," tabla='form_id' and opcion = 'orden'") ; $campo_orden = $campo_orden[0]; if($orden == "" ) { $ordenar= "ORDER BY form_datos.id DESC ";} elseif($orden == "ASC" ) { $ordenar= "ORDER BY form_datos.id ASC "; } else{} $respuesta = new xajaxResponse('utf-8'); $id_form = $form; if($campo_orden !="") { $consulta_principal = " SELECT control,id,form_id,contenido FROM form_datos WHERE form_id = '$form' AND id_campo ='$campo_orden' $filtro_proceso GROUP BY form_datos.control ORDER BY CAST(contenido AS SIGNED ) $orden "; }else { $consulta_principal = "SELECT control,id,form_id FROM form_datos WHERE form_id = '$id_form' $filtro_proceso GROUP BY form_datos.control $ordenar"; } $link=Conectarse(); mysqli_set_charset($link, "utf8"); mysqli_real_escape_string($link,$consulta_principal); $sql_total=mysqli_query($link,$consulta_principal); $total_registros = mysqli_num_rows($sql_total);//formulario_contar($id_form); if($registros=="") { $registros="$total_registros"; $origen="url";} /// PAGINACION if ($pagina =='') {$inicio = 0; $pagina = 1; } else { $inicio = ($pagina - 1) * $registros;} if($total_registros < $registros) { $limite ="";} else{$limite =" LIMIT $inicio, $registros ";} $consulta_limite = $consulta_principal.$limite; mysqli_real_escape_string($link,$consulta_limite); $sql=mysqli_query($link,$consulta_limite); @mysqli_data_seek($sql_total, 0); //$sql=mysqli_query($link,$consulta_principal); if (mysqli_num_rows($sql)!='0'){ /////// FILTRO //$fecha = time (); // $ahora = date ( "Y-m-d" , $fecha ); // $campos = listar_campos_formulario($id_form,"select"); $link = ""; // $page = $_GET['page']; $page= $pagina; @$pages= ceil($total_registros / $registros); //13; // Hardcoded for testing purpose $limit=10 ; if ($pages >=1 && $page <= $pages) { $counter = 1; $link = ""; if (($page -1) > 0) { if(isset($_REQUEST[registros])) { $href_1 = "$origen®istros=$registros&pagina=1&orden=$orden"; $href_2 = "$origen®istros=$registros&pagina=".($pagina-1)."&orden=$orden"; } else { $href_1= "#cabecera#"; $href_2= "#cabecera#"; } $link .= "<li><a href='$href_1' title='Cambiar a la página 1' onClick=\"xajax_consultar_contenido_formulario('$form','$registros','1','','$orden');\"' style='cursor:pointer'><i class='glyphicon glyphicon-step-backward'></i></a> </li> <li><a href='$href_2' title='Cambiar a la página ".($pagina-1)."' onClick=\"xajax_consultar_contenido_formulario('$form','$registros','".($pagina-1)."','','$orden');\"' style='cursor:pointer'><i class='glyphicon glyphicon-backward'></i></a> </li>"; } for ($x=$page; $x<=$pages;$x++) { if($counter < $limit){ if(isset($_REQUEST['registros'])) { $href_3 = "$origen®istros=$registros&pagina=$x&orden=$orden"; } else { $href_3= "#cabecera#"; } if ($page == $x){ $link .= "<li class='active'><a href='$href_3' title='Cambiar a la pagina $x' onClick=\"xajax_consultar_contenido_formulario('$form','$registros','$x','','$orden');\"' style='cursor:pointer'>$x</a> </li>"; }else{ $link .= "<li class=''><a href='$href_3' title='Cambiar a la pagina $x' onClick=\"xajax_consultar_contenido_formulario('$form','$registros','$x','','$orden');\"' style='cursor:pointer'>$x</a> </li>"; } } $counter++; } if ($page < ($pages - ($limit/2))) { if(isset($_REQUEST['registros'])) { $href_4 = "$origen®istros=$registros&pagina=".($pagina+1)."&orden=$orden"; $href_5 = "$origen®istros=$registros&pagina=$pages&orden=$orden"; } else { $href_4= "$href_4"; $href_5= "$href_5"; } $link .= "<li><a href='$href_4' title='Cambiar a la pagina ".($pagina+1)."' onClick=\"xajax_consultar_contenido_formulario('$form','$registros','".($pagina+1)."','','$orden');\"' style='cursor:pointer'><i class='glyphicon glyphicon-forward'></i></a></li> <li class=''><a href='$href_5' title='Cambiar a la pagina $pages' onClick=\"xajax_consultar_contenido_formulario('$form','$registros','$pages','','$orden');\"' style='cursor:pointer'><i class='glyphicon glyphicon-step-forward'></i> </a></li>"; } } $paginacion = "<ul class='pagination '>$link</ul>"; $encabezado = " <div class='row' id='botonera'> <div class='col-sm-12'> <div class='text-center center-block'> <ul class='pagination'> <li role='presentation'><span>$total_registros registros</span></li> </ul> $paginacion </div> </div> </div> "; // $total_registros = mysqli_num_rows($sql); /* $nombres_campos = listar_campos_formulario("$id_form","nombres"); foreach($nombres_campos as $campo_nombre=>$nombre){ $listado_nombres .= "<th>$nombre</th>"; } */ // $listado_nombres = "<tr><th class='actions' ></th><th>Identificador</th><th></th>$listado_nombres </tr>"; ///$listado_campos = listar_campos_formulario("$id_form",''); $descripcion = remplacetas('form_id','id',$id_form,'descripcion','') ; //$descripcion_limpia = strip_tags($descripcion[0]); $nombre = remplacetas('form_id','id',$id_form,'nombre','') ; $cabecera="<hr> $nombre[0] $descripcion[0]"; mysqli_data_seek($sql_total, 0); while( $row = mysqli_fetch_array( $sql ) ) { // if (!is_array($listado_campos)){$listado_campos="<td >$listado_campos</td>";}else {$listado_campos=$listado_campos;} $linea .= landingpage_contenido_identificador("$row[control]","$id_form","$plantilla",'paginado'); //$linea .= mostrar_identificador("$row[control]","$id_form","landingpage",'simple');; //$linea .= "<br>$row[control]"; $linea_listado .= landingpage_contenido_identificador("$row[control]","$id_form","$plantilla",'listado'); $linea_planilla .= landingpage_contenido_identificador("$row[control]","$id_form","$plantilla",'planilla'); $linea_li .= landingpage_contenido_identificador("$row[control]","$id_form","$plantilla",'li'); } $buscador = buscar_datos("*formato*","$form","grid","mostrar_resultado"); //$filtro = portal_filtro_campos_select($form,"$campo_filtro","mostrar_resultado","landingpage"); $filtro_drop = portal_filtro_campos_drop($form,"$campo_filtro","mostrar_resultado","landingpage"); ////////$filtro_generico = filtro_generico($form,$tipo); $formulario_tabla_temporal = formulario_tabla_temporal($form); if( $tipo !== "" AND $tipo !=="embebido" ) { $publico = remplacetas('form_id','id',"$form",'modificable',"") ; $propietario = remplacetas('form_id','id',$form,'id_empresa',"") ; // $propietario = remplacetas('usuarios','id',$propietario[0],'email',"") ; if($publico[0] !="0" OR $_SESSION["id_empresa"] =="$propietario[0]") { $agregar = " <div class='btn btn-default btn-block ' onclick =\"xajax_formulario_embebido_ajax('','$form','','nuevo');\"> <i class='glyphicon glyphicon-plus-sign'></i> Agregar </a></div>"; } $acciones=" <div class='container-fluid'> <div class='row'> <div class='col-xs-12 col-sm-3 col-md-3 col-lg-3' id='btn_agregar'> $agregar </div> <div class='col-xs-12 col-sm-5 col-md-5 col-lg-4' id='btn_filtro' > $filtro $filtro_drop </div> <div class='col-xs-12 col-sm-4 col-md-4' id='buscador_centro'>$buscador</div> <div class='col-md-12'> $filtro_generico $formulario_tabla_temporal </div> </div> <br>"; } $resultado = " <a name='cabecera'></a> $acciones <div id='mostrar_resultado' class='mostrar_resultado_landingpage'> <!-- landingpage_contenido_identificador() --> $linea <!-- landingpage_contenido_identificador() --> $encabezado </div> "; } else { $resultado ="<div class='alert alert-warning alert_sin_resultados' ><h1 title=''>No hay resultados 0021</h1> </div>"; if($tipo =="contenido" OR $tipo =="embebido" OR $tipo =="li" ) { if($tipo=="li") {$resultado="";} return $resultado; } $respuesta->addAlert("No hay resultados 0022"); return $respuesta; } /*$datos = $resultado; $div ="contenido_de_modal"; $resultado = "<div class=''> $datos</div>"; $div_contenido = "<div id='$div' >$div</div>"; */ if($tipo =="") { // $respuesta->addAssign("contenido_interior","innerHTML","$div_contenido"); $respuesta->addAssign("mostrar_resultado","innerHTML","$resultado"); return $respuesta; } elseif($tipo =="contenido" OR $tipo =="embebido" ) { return $resultado; } elseif($tipo =="simple") { return $linea; } elseif($tipo =="listado") { // unset($_SESSION['proceso']); return "$linea_listado"; } elseif($tipo =="planilla") { // unset($_SESSION['proceso']); return "$linea_planilla"; } elseif($tipo =="li") { // unset($_SESSION['proceso']); return "$linea_li"; } else {} } $xajax->registerFunction("consultar_contenido_formulario"); function multiempresa_listado($tabla,$div){ $resultado = ""; $encontrados = ""; $link=Conectarse(); mysqli_set_charset($link, "utf8"); $consulta = "SELECT * ,empresa.id as id_empresa FROM empresa, form_id WHERE empresa.id = form_id.id_empresa AND form_id.activo = '1' AND form_id.publico ='1' group by empresa.id ORDER BY empresa.id DESC "; $sql=mysqli_query($link,$consulta); if (mysqli_num_rows($sql)!='0'){ mysqli_data_seek($sql, 0); $fila=1; $divider=1000; $cols = (12/$divider); $sm = 4; $i =0; while( $row = mysqli_fetch_array( $sql ) ) { if($i % $divider==0) { $encontrados .= "<div class='container-fluid text-center box_proyectos' role='row' id='grid_$i' style=''>"; } $i++; if($row['imagen'] !="") { $logo="<img class='lazy img-gris img-responsive ' alt='$row[razon_social]' src='milfs/images/loading.gif' data-src='milfs/images/secure/?file=300/$row[imagen]' >"; } else { $logo_empresa = remplacetas('empresa','id',"1",'imagen',''); //$logo="<img class=' lazy img img-responsive' data-src='milfs/images/sinimagen.jpg' alt='$row[razon_social]'>"; $logo="<img class=' lazy img img-responsive' data-src='milfs/images/sinimagen.jpg' alt='$row[razon_social]'>"; } // $slogan= substr($row[slogan],0, $length = 100).""; $slogan = $row['slogan']; $dominio = remplacetas('empresa','id',"$row[id_empresa]",'web','') ; $contenido ="<!-- PROYECTOS --> <div class='proyecto col-md-$cols col-sm-$cols ' title=''> <div class='div_proyecto'> <a href='http://$dominio[0]/e$row[id_empresa]' target ='empresa'> <div href='http://$dominio[0]/e$row[id_empresa]' target ='empresa' class='proyecto_titulo ' style=''>$row[razon_social]</div> $logo </a> </div> </div> "; $encontrados .="$contenido"; $fila++; if( $i % $divider==0) { $encontrados .= "</div> "; } } $resultado =" <!-- PROYECTOS --> <div class='col-md-12' id='proyectos'> <div class=' text-center'> <h1>Proyectos</h1> <p class='lead'>Conoce los proyectos que usan Tupale.co para la implementación de sus herramientas, selecciona para conocer más</p> </div> <div class='container'> <div class=''> $encontrados </div> </div> </div> <!-- FIN Proyectos --> "; }else{ $resultado = "<div class='alert alert-warning alert_sin_resultados'><i class='glyphicon glyphicon-exclamation-triangle'></i> No hay resultados 0023</div>"; } if($div =="") { return $resultado; }else { $respuesta = new xajaxResponse('utf-8'); $respuesta->addAssign("$div","innerHTML","$resultado"); return $respuesta; } } $xajax->registerFunction("multiempresa_listado"); function decodifica_parametro ($string) { $inicial = substr($string,0,1); $string = mb_substr($string,1); $cadena = $string; //$length = strlen($base); $size = strlen($string) - 1; $string = str_split($string); //$out = strpos($base, array_pop($string)); //return $out; /*foreach($string as $i => $char) { $out += (strpos($base, $char)* pow($length, $size - $i)); //$out .= "$i => $char"; }*/ $resultado[0]=$inicial; //$resultado[1]=$out; $resultado[1]=$cadena; return $resultado; } function grabar_imagen($imagen,$control) { $imgData = str_replace(' ','+',$imagen); $imgData = substr($imgData,strpos($imgData,",")+1); $imgData = base64_decode($imgData); $nombre= $control.".png"; $filePath = "$_SESSION[path]/tmp/".$nombre; $file = fopen($filePath, 'w'); fwrite($file, $imgData); fclose($file); $full= "$_SESSION[path_images_secure]/full/".$nombre; if (!rename($filePath,$full)){} else { echo generar_miniatura($nombre,"150"); echo generar_miniatura($nombre,"300"); echo generar_miniatura($nombre,"600"); } //return "$nombre"; return "$nombre"; } function generar_miniatura($file,$width) { //$archivo = $file; $archivo = "$_SESSION[path_images_secure]/full/".$file; // Ponemos el . antes del nombre del archivo porque estamos considerando que la ruta está a partir del archivo thumb.php $file_info = getimagesize($archivo); // Obtenemos la relación de aspecto $ratio = $file_info[0] / $file_info[1]; // Calculamos las nuevas dimensiones $newwidth = $width; $newheight = round($newwidth / $ratio); // Sacamos la extensión del archivo $ext = explode(".", $file); $ext = strtolower($ext[count($ext) - 1]); if ($ext == "jpeg") $ext = "jpg"; // Dependiendo de la extensión llamamos a distintas funciones switch ($ext) { case "jpg": $img = imagecreatefromjpeg($archivo); break; case "png": $img = imagecreatefrompng($archivo); break; case "gif": $img = imagecreatefromgif($archivo); break; } // Creamos la miniatura $thumb = imagecreatetruecolor($newwidth, $newheight); imagealphablending( $thumb, false ); imagesavealpha( $thumb, true ); // La redimensionamos imagecopyresampled($thumb, $img, 0, 0, 0, 0, $newwidth, $newheight, $file_info[0], $file_info[1]); // La mostramos como jpg //header("Content-type: image/jpeg"); imagejpeg($thumb,"$_SESSION[path_images_secure]/".$width."/$file", 80); imagepng($thumb,"$_SESSION[path_images_secure]/".$width."/$file", 9); imagegif($thumb,"$_SESSION[path_images_secure]/".$width."/$file"); //imagejpeg($thumb,null, 80); } function generar_vcard($identificador){ $impresion = mostrar_identificador("$identificador","","vcard",'simple'); $impresion = formulario_imprimir("$id_form","$identificador","$plantilla"); $nombre ="vcard_".$identificador.".vcf"; $vcard ="BEGIN:VCARD VERSION:3.0 N:Gump;Forrest FN:Forrest Gump ORG:Bubba Gump Shrimp Co. TITLE:Shrimp Man PHOTO;VALUE=URL;TYPE=GIF:http://www.example.com/dir_photos/my_photo.gif TEL;TYPE=WORK,VOICE:(111) 555-1212 TEL;TYPE=HOME,VOICE:(404) 555-1212 ADR;TYPE=WORK:;;100 Waters Edge;Baytown;LA;30314;United States of America LABEL;TYPE=WORK:100 Waters Edge\nBaytown, LA 30314\nUnited States of America ADR;TYPE=HOME:;;42 Plantation St.;Baytown;LA;30314;United States of America LABEL;TYPE=HOME:42 Plantation St.\nBaytown, LA 30314\nUnited States of America EMAIL;TYPE=PREF,INTERNET:forrestgump@example.com REV:20080424T195243Z END:VCARD"; $archivo = "milfs/tmp/$nombre"; $file=fopen($archivo,"w") or die("Problemas en la creacion");//En esta linea lo que hace PHP es crear el archivo, si ya existe lo sobreescribe fputs($file,$impresion);//En esta linea abre el archivo creado anteriormente e ingresa el resultado de tu script PHP fclose($file);//Finalmente lo cierra /* $ruta="/tmp/vcard_".$identificador.".vcf"; header ("Content-Disposition: attachment; filename=".$ruta); header ("Content-Type: application/octet-stream"); header ("Content-Length: ".filesize($ruta)); readfile($ruta); */ return $archivo; } function autoriza_formulario_mostrar($password,$form,$control) { $respuesta = new xajaxResponse('utf-8'); if($password =="") { unset($_SESSION['permiso_identificador']); $respuesta->addScript("javascript:location.reload(true);"); return $respuesta;} $campo = buscar_campo_tipo($form,"18"); $campo_password = $campo[0]; $comprobar_clave = remplacetas('form_datos','form_id',"$form",'contenido'," BINARY contenido = MD5('$password') AND id_campo = '$campo_password'") ; $password = md5($password); $aviso = ""; if($comprobar_clave[0] !== $password ) { unset($_SESSION['permiso_identificador']); $respuesta->addAlert("La clave no es válida "); $aviso = "$comprobar_clave[2] !== $control"; $respuesta->addAssign("pie_modal","innerHTML",$aviso); return $respuesta; } else{ $_SESSION['permiso_identificador']="$control"; //$respuesta->addAssign("pie_modal","innerHTML",$aviso); $respuesta->addScript("javascript:location.reload(true);"); } return $respuesta; } $xajax->registerFunction("autoriza_formulario_mostrar"); function landingpage_contenido_identificador($identificador,$form,$plantilla,$tipo){ if(strlen($identificador) > 32) { $identificador_original= $identificador; $key = substr($identificador, 32, $length = 40); $identificador = substr($identificador, 0, $length = 31); }else {$identificador_original = $identificador;} $linea=""; $id_empresa = remplacetas('form_datos','control',$identificador,'id_empresa',"") ; $datos = remplacetas('form_datos','control',$identificador,'contenido',"") ; $formulario_identificador = remplacetas('form_datos','control',$identificador,'form_id',"") ; $campo_orden = remplacetas('form_parametrizacion','campo',$datos[5],'descripcion'," tabla='form_id' and opcion = 'orden'") ; if($campo_orden[0] =="" ) { $siguiente = remplacetas_orden('form_datos','form_id',$datos[5],'control'," id > '$datos[1]' AND control !='$identificador'"," ORDER BY id ASC") ; $anterior = remplacetas('form_datos','form_id',$datos[5],'control'," id < '$datos[1]' AND control !='$identificador' ") ; } else{ $siguiente = remplacetas_orden('form_datos','form_id',$datos[5],'control'," id_campo = '$campo_orden[0]' AND contenido > '$datos[0]' AND control !='$identificador'"," ORDER BY id ASC") ; $anterior = remplacetas('form_datos','form_id',$datos[5],'control'," id_campo = '$campo_orden[0]' AND contenido < '$datos[0]' AND control !='$identificador' ") ; } $campo_titulo = remplacetas('form_parametrizacion','campo',$datos[5],'descripcion'," tabla='form_id' and opcion = 'titulo'") ; $titulo_siguiente = remplacetas('form_datos','form_id',$datos[5],'contenido'," id_campo = '$campo_titulo[0]' AND control = '$siguiente[0]' ") ; $titulo_anterior = remplacetas('form_datos','form_id',$datos[5],'contenido'," id_campo = '$campo_titulo[0]' AND control = '$anterior[0]' ") ; if($anterior[0] !='') { $post_anterior =" <a title='$titulo_anterior[0]' href='I$anterior[0]' class='fh5co-post-prev'><span><i class='icon-chevron-left'></i> $campo_orden[0] Anterior</span> </a>"; } if($siguiente[0] !='') { $post_siguiente =" <a title='$titulo_siguiente[0]' href='I$siguiente[0]' class='fh5co-post-next'><span>Siguiente <i class='icon-chevron-right'></i></span> </a>"; } if($tipo =="simple") { $manejadores="$post_anterior $post_siguiente";}else { $manejadores="";} $respuestas = respuestas_formulario($form,$identificador,$plantilla); $imagen = buscar_imagen($form[0],$identificador,"","$id_empresa[0]"); $plantilla_original = $plantilla; $uri = "$_SESSION[site]I$identificador"; $qr = "https://qwerty.co/qr/?d=$uri"; if($imagen !="") { $mostrar_imagen ="<img class='img-responsive img-rounded ' src='$_SESSION[site]milfs/images/secure/?file=600/$imagen' alt=''>"; $miniatura = " <figure class='animate-box'> <a href='I$identificador' > <img src='$qr' alt='$identificador' title='' class='img img-responsive img-rounded'> </a> </figure> $uri"; }else { $miniatura =" <figure class='animate-box'> <a href='I$identificador' >I$identificador</a> </figure> "; $mostrar_imagen = " <figure class='animate-box'> <img src='$qr' alt='$identificador' title='' style=''; class='img img-responsive img-rounded'> </figure>"; } if($plantilla_original !="" ) { $impresion = mostrar_identificador($identificador_original,"$form","$plantilla","",""); } else{ $contenido = @mostrar_areas("$identificador_original","",""); $impresion = " <!-- Exportado desde Tupale.co --> <!-- plantilla landingpage $identificador --> <a name='control_$identificador' class='clase_listado'></a> <div class='container-fluid'> <div class='col-lg-12 col-md-12 col-xs-12 '> $contenido </div> </div> <!-- plantilla landingpage --> "; } if($tipo=="head") { $edicion=""; $documento=""; $respuestas="";} else{ if(isset($_SESSION['id_empresa'])){ $edicion ="<div class='editar_documento' id='editar'> <a href='d$identificador' target='editar'> <i class='fa fa-pencil-square-o'> </i> Editar </a> <div>"; }else {$edicion="";} } $documento="<div style='padding-top: 30px;'class='exportar_documento' id='gen_documento'><a href='opendata.php?tipo=documento&identificador=$identificador'><i class='fa fa-file-text-o'></i> Exportar </a></div>"; if($plantilla_original=="svg") { return $impresion;}else{ if($tipo=="listado") { $documento= ""; $edicion=""; $manejadores=""; if(isset($_SESSION['proceso']) or isset($_REQUEST['proceso'])) { if($_REQUEST['proceso'] != ""){$proceso = $_REQUEST['proceso'];}else { $proceso = $_SESSION['proceso'];} $usuario = remplacetas_turno('turnos',"id_turno","$proceso",'id_usuario',"") ; $usuario_datos = paciente_datos($usuario[0],"impresion",''); }else{ $usuario_datos="";} $pie = empresa_datos("$id_empresa[0]",'pie'); $pie = "$pie <small class='pull-right'>https://tupale.co</small>"; $salto = "<div class='saltopagina'></div>"; $encabezado_empresa = empresa_datos("$id_empresa[0]",'encabezado'); $formulario_descripcion = remplacetas('form_id','id',$formulario_identificador[0],'descripcion','') ; $formulario_nombre = remplacetas('form_id','id',$formulario_identificador[0],'nombre','') ; $cabecera ="<div class='container text-center cabecera_formulario'> <h3 class='formulario_nombre'>".$formulario_nombre['0']."</h3> <h4 class='formulario_descripcion'>".$formulario_descripcion['0']."</h4> </div> "; $cabecera="<hr> <div class='row'> <div class='col-xs-10'> $encabezado_empresa $cabecera </div> <div class='col-xs-2'> <div class='qr'> <img src='$qr' alt='$identificador' title='' style='width:150px;'; class=''> <div class='caption'> <!-- <font size='-10'>$identificador</font> --> </div> </div> </div> <div class=''> $usuario_datos </div> </div>";} else{ $cabecera=""; $pie=""; $salto=""; } if($tipo =="li") { $linea =" $impresion "; } else{ $linea = " <div class='mostrar_identificador_full '> $cabecera $manejadores $documento $edicion $impresion <!-- formulario de respuesta --> <div id='formulario_respuesta_$identificador' class='formulario_respuesta ' style=''>$respuestas </div> <!-- formulario de respuesta --> $pie </div> $salto "; } return $linea; } } function landingpage_contenido_formulario($form,$registros,$pagina,$div_original){ $cantidad = formulario_contar($form); $div="contenido_interior"; //if($registros =="") {$registros ="10";} $consulta= "SELECT control FROM form_datos WHERE form_id = '$form' GROUP BY control ORDER BY id DESC "; $id_empresa = remplacetas('form_id','id',$form,'id_empresa',"") ; $link=Conectarse(); mysqli_set_charset($link, "utf8"); //$sql=mysqli_query($link,$consulta); if ($pagina =='') {$inicio = 0; $pagina = 1; } else { $inicio = ($pagina - 1) * $registros;} if($cantidad < $registros) { $limite ="";} else{$limite =" LIMIT $inicio, $registros ";} $consulta_limite = $consulta.$limite; $sql=mysqli_query($link,$consulta_limite); $paginacion ="<ul class='pagination pull-right'>"; $total_paginas = ceil($cantidad / $registros); if(($pagina - 1) > 0) { $indice .="<li><a title='Cambiar a la página ".($pagina-1)."' onClick=\"xajax_landingpage_contenido_formulario($form,'$registros','".($pagina-1)."','$div');\"' style='cursor:pointer'>< Anterior</a> </li>"; } for ($i=1; $i<=$total_paginas; $i++) if ($pagina == $i){ $indice .= "<li class='active'><a title='Cambiar a la pagina $i' onClick=\"xajax_landingpage_contenido_formulario($form,'$registros','$i','$div');\"' style='cursor:pointer'>$i</a> </li>"; } else { $indice .= "<li><a title='Cambiar a la pagina $i' onClick=\"xajax_landingpage_contenido_formulario($form,'$registros','$i','$div');\"' style='cursor:pointer'>$i</a> </li>"; } if(($pagina + 1)<=$total_paginas) { $indice .= "<li><a title='Cambiar a la pagina ".($pagina+1)."' onClick=\"xajax_landingpage_contenido_formulario($form,'$registros','".($pagina+1)."','$div');\"' style='cursor:pointer'> Siguiente ></a></li>"; } $indice .= "</ul>"; $paginacion .= $indice; /* /// PAGINACION if ($pagina =='') {$inicio = 0; $pagina = 1; } else { $inicio = ($pagina - 1) * $registros;} if($cantidad < $registros) { $limite ="";} else{$limite =" LIMIT $inicio, $registros ";} $consulta_limite = $consulta.$limite; $sql=mysqli_query($link,$consulta_limite); $page= $pagina; @$pages= ceil($cantidad / $registros); //13; // Hardcoded for testing purpose $limit= 20 ; if ($pages >=1 && $page <= $pages) { $counter = 1; $link = ""; if (($page -1) > 0) { $link .= "<li><a title='Cambiar a la página 1' onClick=\"xajax_landingpage_contenido_formulario($form,'$registros','1','$div'); \"' style='cursor:pointer'><i class='glyphicon glyphicon-step-backward'></i></a> </li> <li><a title='Cambiar a la página ".($pagina-1)."' onClick=\"xajax_landingpage_contenido_formulario($form,'$registros','".($pagina-1)."','$div'); \"' style='cursor:pointer'><i class='glyphicon glyphicon-backward'></i></a> </li>"; } for ($x=$page; $x<=$pages;$x++) { if($counter < $limit){ if ($page == $x){ $link .= "<li class='active'><a title='Cambiar a la pagina $x' onClick=\"xajax_landingpage_contenido_formulario($form,'$registros','$x','$div');\"' style='cursor:pointer'>$x</a> </li>"; }else{ $link .= "<li class=''><a title='Cambiar a la pagina $x' onClick=\"xajax_landingpage_contenido_formulario($form,'$registros','$x','$div');;\"' style='cursor:pointer'>$x</a> </li>"; } } $counter++; } if ($page < ($pages - ($limit/2))) { $link .= "<li><a title='Cambiar a la pagina ".($pagina+1)."' onClick=\"xajax_landingpage_contenido_formulario($form,'$registros','".($pagina+1)."','$div');\"' style='cursor:pointer'><i class='glyphicon glyphicon-forward'></i></a></li> <li class=''><a title='Cambiar a la pagina $pages' onClick=\"xajax_landingpage_contenido_formulario($form,'$registros','".($pagina+1)."','$div');\"' style='cursor:pointer'><i class='glyphicon glyphicon-step-forward'></i> </a></li>"; } } $paginacion = "<ul class='pagination '>$link</ul>"; */ //// PAGINACION if (mysqli_num_rows($sql)!='0'){ $linea=" ( $cantidad ) $paginacion"; $fila = 1; mysqli_data_seek($sql, 0); while( $row = mysqli_fetch_array( $sql ) ) { $impresion = mostrar_identificador($row['control'],"","landingpage","",""); $imagen = buscar_imagen($form,$row['control'],"","$id_empresa[0]"); if($imagen !="") { $clase = "col-lg-5 col-sm-6";}else {$clase = "col-lg-12 col-sm-12";} $uri = "<a href='I$row[control]' > Ver mas ...</a>"; $linea .= landingpage_contenido_identificador($row['control']); } $resultado_linea="<div class='row' id='x_$div'>$linea</div>"; } if($div_original=="") { return $resultado_linea; }else { $respuesta = new xajaxResponse('utf-8'); $respuesta->addAssign("$div","innerHTML","$linea"); return $respuesta; } } $xajax->registerFunction("landingpage_contenido_formulario"); /* $respuesta = new xajaxResponse('utf-8'); $resultado ="<h1><i class='glyphicon glyphicon-spinner fa-pulse'></i> $mensaje Procesando ...</h1>"; $respuesta->addAssign("$div","innerHTML","$resultado"); return $respuesta; } */ function landingpage_contenido($id_empresa){ $consulta= "SELECT * FROM form_id WHERE id_empresa= '$id_empresa' ORDER BY orden ASC"; $miniatura =""; $link=Conectarse(); mysqli_set_charset($link, "utf8"); $sql=mysqli_query($link,$consulta); $linea=""; if (mysqli_num_rows($sql)!='0'){ $fila = 1; //include("includes/datos.php"); $error_token = ""; $contenido = ""; if(!isset($mapbox_token)) { include("milfs/includes/datos.php"); if(!isset($mapbox_token)) {$error_token = 1; } else {$error_token = "";}} while( $row = mysqli_fetch_array( $sql ) ) { //$link = "<a href='b$row[id]?registros=10'> Consultar <i class='glyphicon glyphicon-external-link-square'></i></a>"; $imagen = buscar_imagen($row['id'],'','',''); $geo = buscar_campo_tipo($row['id'],"14"); $ultimo_mapa = remplacetas('form_datos','form_id',$row['id'],'contenido'," id_campo = '$geo[0]'") ; $mostrar = remplacetas('form_parametrizacion','campo',$row['id'],'descripcion'," tabla='form_id' AND opcion='mostrar_portal'") ; $llenar = remplacetas('form_parametrizacion','campo',$row['id'],'descripcion'," tabla='form_id' AND opcion='llenar_portal'") ; $ver_data = remplacetas('form_parametrizacion','campo',$row['id'],'descripcion'," tabla='form_id' AND opcion='ver_data_portal'") ; $vista_favorita = remplacetas('form_parametrizacion','campo',$row['id'],'descripcion'," tabla='form_id' AND opcion='vista_favorita'") ; $vista=$vista_favorita[0]; if($vista=='libro') { $favorita="b$row[id]?registros=10";} elseif($vista=='aplicacion') { $favorita="a$row[id]";} elseif($vista=='set') { $favorita="s$row[id]";} elseif($vista=='mapa') { $favorita="mapero.php?id=$row[id]";} elseif($vista=='presentacion') { $favorita="c$row[id]";} elseif($vista=='timeline') {$favorita="&eventos=$row[id]";} elseif($vista=='formulario') { $favorita="f$row[id]";} elseif($vista=='informe') { $favorita="l$row[id]";} elseif($vista=='planilla') { $favorita="p$row[id]";} elseif($vista=='agenda') { $favorita="?eventos=$row[id]";} elseif($vista=='checklist') { $favorita="m$row[id]";} elseif($vista=='notas') { $favorita="n$row[id]";} elseif($vista=='landingpage') { $favorita="o$row[id]";} else{ $favorita="b$row[id]?registros=10";} if($ultimo_mapa[0] !="") { $campos = explode(" ",$ultimo_mapa[0]); $lat = $campos['0']; @$lon = $campos['1']; @$zoom = $campos['2']; if($error_token != 1) { $url_pin =urlencode("$_SESSION[site]milfs/images/iconos/pin.png"); $miniatura = " <img alt='$row[nombre]' class=' mapa_estatico lazy imagen_presentacion img-responsive img-rounded' style='' data-src='https://staticmap.openstreetmap.co/staticmap.php?center=$lon,$lat&zoom=$zoom&size=250x100&maptype=mapnik&markers=$lon,$lat,red-pushpin' > <br>"; /* $miniatura = " <img class=' img-responsive img-rounded' style='width:100%' src='https://api.tiles.mapbox.com/v4/examples.map-zr0njcqy/url-https%3A%2F%2Ftupale.co%2Fmilfs%2Fimages%2Ficonos%2Fpin.png(-75.59825420379637,6.24539309025971,17)/-75.59825420379637,6.24539309025971,17/600x200.png?access_token=pk.eyJ1IjoiZmNhc3Ryb3QiLCJhIjoiY2lnOWw1bmd1MG93eXVsbTJpcmluYTBxdCJ9.yG7C1rEH6-MpZBEEb68IVg' > ";*/ }else{ $miniatura ="<div class='alert alert-danger'>No se ha definido un token de mapbox</div>";} } //if($geo[0] !='') { $mapa= "<a href='mapero.php?id=$row[id]' target='mapa'>$miniatura Ver mapa</a>";}else {$mapa='';} if($geo[0] !='') { $mapa= "<a class='boton_land btn btn-default ' href='mapero.php?id=$row[id]' target='mapa'><i class='fa fa-globe' aria-hidden='true'></i> Mapa</a>";}else {$mapa='';} $descripcion_limpia = strip_tags($row['descripcion']); if($imagen !="") { $imagen =" <figure id ='figure_$row[id]' > <a href='$favorita'> <img class='img img-responsive img-secciones' src='milfs/images/secure/?file=300/$imagen' alt='$row[nombre]'> <!-- <figcaption class='articulo_caption' >$row[nombre]</figcaption> --> </a> </figure> "; } $contenido =" <h2 id ='h2_$row[id]' class='text-center titulo_formulario section-heading'><a href='$favorita'>$row[nombre] <i class='glyphicon glyphicon-external-link-square'></i></a></h2> <p id ='p_contenido_$row[id]' class='descripcion_formulario text-left'>$descripcion_limpia </p>"; // if ( $fila%2==0){ if($llenar[0] !="0") {$boton_agregar =" <div class='boton_land btn btn-default ' onclick=\"xajax_formulario_embebido_ajax('','$row[id]','','nuevo');\"> <i class='glyphicon glyphicon-plus-sign'></i> Agregar </div>";} else{$boton_agregar = "";} if($ver_data[0] !="0") {$boton_ver_data =" <a target='datos'class='boton_land btn btn-default ' href= 'opendata.php?id=$row[id]'> <i class='fa fa-bar-chart' aria-hidden='true'></i> OpenData</a>";} else{$boton_ver_data = "";} if($mostrar[0] !="0") { //// PRIVACIDAD $publico = remplacetas('form_id','id',"$row[id]",'publico',"") ; /// PRIVACIDAD if($publico[0] =='1') { $linea .= " <div style=' ' class=' articulo_cuadro col-xs-12 col-sm-12 col-md-12 col-lg-10' id='b_articulo_formulario_$row[id]'> <div class=' thumbnail box-secciones' id='b_articulo_formulario_$row[id]'> <a name='formulario_$row[id]'></a> <div class='row rp-b '> <div class='articulo_contenido col-md-4'> $imagen </div> <div id='articulo_contenido_$row[id]' class='articulo_contenido col-md-8 animate-box'> <p>$contenido</p> <div id='botonera_landing' class='btn-group.btn-group-justified btn-group-sm' role='group'> $boton_agregar $mapa $boton_ver_data </div> </div> </div> </div> </div> "; }else{ if($llenar[0] !="0"){ $linea .=" <div style=' ' class=' articulo_cuadro col-xs-12 col-sm-12 col-md-12 col-lg-10' id='b_articulo_formulario_$row[id]'> <div class=' thumbnail box-secciones ' id='b_articulo_formulario_$row[id]'> <a name='formulario_$row[id]'></a> <div class='row rp-b '> <div class='articulo_contenido col-md-4'> $imagen </div> <div class='articulo_contenido col-md-8 animate-box'> <h2 class='text-center titulo_formulario section-heading'> <a href='#' onclick=\"xajax_formulario_embebido_ajax('','$row[id]','','nuevo');\" >$row[nombre] <i class='glyphicon glyphicon-external-link-square'></i></a></h2> <p class='descripcion_formulario text-left'>$row[descripcion] </p> $boton_agregar </div> </div> </div> </div> ";} } }else { $linea .=" ";} $fila++; } } $linea =" <div class='container' id='contenedor_landingpage'> $linea </div> "; return $linea; } function buscar_imagen($form,$control,$tipo,$empresa) { $imagen=""; if($control !="") { $w_control = "AND form_datos.control ='$control'";}else{$w_control ="";} if ($form ==""){ $consulta = "SELECT form_datos.id_empresa, contenido , campo_nombre , id_campo FROM form_id, form_datos, form_campos WHERE form_datos.id_campo = form_campos.id AND form_id.id = form_datos.form_id AND form_datos.id_empresa = '$empresa' AND publico ='1' AND form_campos.campo_tipo='15' ORDER BY rand() limit 1 "; $link=Conectarse(); mysqli_set_charset($link, "utf8"); $sql=mysqli_query($link,$consulta); if (mysqli_num_rows($sql)!='0'){ $imagen = mysqli_result($sql,0,"contenido"); } if($tipo == "consulta") { return $consulta; } return $imagen; } $publico = remplacetas('form_id','id',"$form",'publico',"") ; if($publico[0] !="0" ){ $campo_imagen = buscar_campo_tipo("$form","15"); $imagen = remplacetas('form_datos','form_id',$form,'contenido'," id_campo = '$campo_imagen[0]' $w_control") ; //$imagen = "$imagen[0]"; return $imagen[0]; } return; } function wait($div,$mensaje){ $respuesta = new xajaxResponse('utf-8'); $resultado ="<h1><i class='glyphicon glyphicon-spinner '></i> $mensaje Procesando ...</h1>"; $respuesta->addAssign("$div","innerHTML","$resultado"); return $respuesta; } $xajax->registerFunction("wait"); function campos_buscador($nombre,$tipo) { if($nombre=="") { $filtros = " <div class='input-group '> <span class='input-group-addon'><i class='glyphicon glyphicon-filter'></i></span> <select class='form-control' id='filtro_campos' onchange = \" xajax_campos_tabla(this.value,'div_tabla_campos','$limite','',document.getElementById('buscador_campos').value); \"> <option value=''>Seleccione</option> <option value=''>Todos</option> <option value='id_especialista'>Mis campos</option> <option value='id_empresa'>Mi empresa</option> <option value='vacios'>No usados </option> <option value='llenos'>Llenos</option> </select> </div> "; $resultado =" <div class='row'> <div class='col-md-6'> $filtros </div> <div class='col-md-6'> <div class='input-group '> <input type='text' id='buscador_campos' class='form-control' placeholder='Buscador de campos' onkeyup = \" xajax_campos_tabla(document.getElementById('filtro_campos').value,'div_tabla_campos','','',(this.value));\" > <span class='input-group-addon' id='basic-addon2'><i class='glyphicon glyphicon-search'></i></span> </div> </div> </div>"; } return $resultado; } function campos_tabla($filtro,$div,$limite,$inicio,$valor) { if($limite =="") {$limite= 100;} if($inicio =="") {$inicio= 0;} if($valor !="") { $w= "AND campo_nombre LIKE '%$valor%'";} $fin=($inicio+$limite); $anterior=($inicio-$limite); $w_limite=" LIMIT $inicio ,$limite"; $mio =""; $lineas =""; $w_empresa =""; $w_especialista =""; if($filtro == 'id_empresa') { $w_empresa = " AND id_empresa = '$_SESSION[id_empresa]' ";} if($filtro == 'id_especialista') { $w_especialista = " AND id_especialista = '$_SESSION[id]' ";} if($filtro == 'llenos') { $consulta= " SELECT * , form_campos.id as id FROM form_campos, form_datos WHERE form_campos.id = form_datos.id_campo $w_empresa $w_especialista $w GROUP BY id_campo ORDER BY campo_nombre "; }elseif($filtro == 'vacios') { //$consulta= " SELECT DISTINCT(form_campos.id) as id , `id_especialista` , `id_empresa`, `campo_nombre`, `campo_descripcion`, `campo_tipo`,`campo_area`, `orden`, `activo`, `identificador`, `bloqueo` FROM form_campos WHERE id NOT IN ( SELECT distinct(id_campo) FROM form_datos GROUP BY id_campo) GROUP BY id ORDER BY campo_area, campo_nombre"; $consulta= " SELECT DISTINCT(form_campos.id) as id , `id_especialista` , `id_empresa`, `campo_nombre`, `campo_descripcion`, `campo_tipo`,`campo_area`, `orden`, `activo`, `identificador`, `bloqueo` FROM form_campos WHERE id NOT IN ( SELECT distinct(id_campo) FROM form_contenido_campos GROUP BY id_campo) GROUP BY id ORDER BY campo_area, campo_nombre"; }else{ $consulta= " SELECT * FROM form_campos WHERE id = id $w_empresa $w_especialista $w ORDER BY campo_nombre "; } $link=Conectarse(); mysqli_set_charset($link, "utf8"); $sql=mysqli_query($link,$consulta.$w_limite); $sql_total=mysqli_query($link,$consulta); //$div = "div_tabla_campos"; $cantidad_mostrada =mysqli_num_rows($sql); $cantidad_total =mysqli_num_rows($sql_total); if (mysqli_num_rows($sql)!='0'){ mysqli_data_seek($sql, 0); mysqli_data_seek($sql_total, 0); while( $row = mysqli_fetch_array( $sql ) ) { $tipo_nombre = remplacetas_noid('form_tipo_campo','id_tipo_campo',"$row[campo_tipo]",'tipo_campo_nombre',"",'') ; $campo_tipo ="<small title='$row[campo_tipo]'>$tipo_nombre[0]</small> "; if($_SESSION['id_empresa'] == $row['id_empresa']) { $row['campo_nombre']= editar_campo("form_campos","$row[id]","campo_nombre","","","",""); $row['campo_descripcion']= editar_campo("form_campos","$row[id]","campo_descripcion","","","",""); $row['campo_area']= editar_campo("form_campos","$row[id]","campo_area","","","",""); $row['activo']= editar_campo("form_campos","$row[id]","activo","","","","",""); $accion = "<a class='btn btn-default' onclick=\"xajax_formulario_crear_campo('','$row[id]','contenido');\"><i class='glyphicon glyphicon-edit'></i></a>"; $class='info'; }else { $class=''; $accion =""; } if($_SESSION['id'] == $row['id_especialista']) { $row['id_especialista'] = "<i class='glyphicon glyphicon-heart'></i> $row[id_especialista]"; } if($_SESSION['id'] == 1){ $metacampo_titulo="<th>MC</th>"; if($row['tipo_contenido'] ==1) { $metacampo="<td title='Metacampo'><input checked type='checkbox' onclick=\" xajax_update_campo('form_campos','$row[id]','tipo_contenido','0','grabar','metacampo_$row[id]','id','nada'); \"><div id='metacampo_$row[id]'></div>"; } else { $metacampo="<td title='Metacampo'><input type='checkbox' onclick=\" xajax_update_campo('form_campos','$row[id]','tipo_contenido','1','grabar','metacampo_$row[id]','id','nada'); \"><div id='metacampo_$row[id]'></div>"; } } $lineas .= "<tr class='$class'><td>$row[id]</td><td>$row[campo_nombre]</td><td>$row[campo_descripcion]</td><td title='Tipo $row[campo_tipo] ' >$campo_tipo</td>$metacampo<td>$row[campo_area]</td><td>$row[activo]</td><td>$row[id_empresa]</td><td>$row[id_especialista] $mio</td><td>$accion</td></tr>"; } $tabla = " <div id='div_tabla_campos'> <legend> <a onclick = \" xajax_campos_tabla('$filtro','div_tabla_campos','$limite','$anterior','$valor'); \"><<< ANTERIORES</a> Mostrando $cantidad_mostrada de $cantidad_total <a onclick = \" xajax_campos_tabla('$filtro','div_tabla_campos','$limite','$fin','$valor'); \">SIGUIENTES >>></a> </legend> <table class='table table-condensed table-bordered table-striped table-hover'> <tr><th>id</th><th>Nombre</th><th>Descripcion</th><th><i class='glyphicon glyphicon-list' title='Tipo'></i> Tipo</th>$metacampo_titulo<th><i data-placement='top' data-toggle='tooltip' title='Área' class='glyphicon glyphicon-object-group'></i></th><th><i title='Estado' class='glyphicon glyphicon-eye-open'></i></th><th><i title='Empresa' class='glyphicon glyphicon-hospital-o'></i></th><th><i title='Propietario' class='glyphicon glyphicon-user'></i></th><td></td></tr> $lineas </table> </div> "; } if($div !=""){ $respuesta = new xajaxResponse('utf-8'); $respuesta->addAssign("$div","innerHTML","$tabla"); return $respuesta; } else{ $resultado = "$filtros $tabla"; return $resultado; } } $xajax->registerFunction("campos_tabla"); function remplacetas_noid($tabla,$campo,$valor,$por,$and,$limit){ if($limit =="") { $limite="LIMIT 1";}else{$limite= "LIMIT $limit";} $link=Conectarse(); mysqli_set_charset($link, "utf8"); if(@$and !=''){$AND = "AND $and";}else{$AND ="";} $consulta = "SELECT * , md5(binary $por ) as md5_".$por." FROM $tabla WHERE $campo = '$valor' $AND order by $campo DESC $limite"; //$consulta = "SELECT * , md5(binary $por ) as md5_".$por." FROM $tabla WHERE $campo = '$valor' $AND order by id DESC limit 1"; $sql=mysqli_query($link,$consulta); if (@mysqli_num_rows($sql)!=0){ if($limit =="") { $resultado[0] = mysqli_result($sql,0,$por); $resultado[1] = mysqli_result($sql,0,"$campo"); $resultado[2] = $consulta; $resultado[3] = mysqli_result($sql,0,"md5_$por");} else { $row = mysqli_fetch_array( $sql ); $resultado[0]=$row; $resultado[1] = mysqli_result($sql,0,"$campo"); $resultado[2] = $consulta; $resultado[3] = mysqli_result($sql,0,"md5_$por"); } }else{ $resultado[0] = ''; $resultado[1] =""; $resultado[2] = $consulta; $resultado[3] = NULL; } return $resultado; } function contar_visitas($id,$tipo) { $id_visitas = remplacetas('form_parametrizacion','campo',$id,'id'," tabla='form_id' AND opcion='$tipo'") ; $visitas = remplacetas('form_parametrizacion','id',$id_visitas[0],'descripcion',"") ; $cantidad = $visitas[0]+1; if($visitas[0] =="") { $consulta = "INSERT INTO form_parametrizacion set tabla='form_id', campo ='$id',opcion ='$tipo',descripcion= '$cantidad',visible ='1'"; } else { $consulta = "UPDATE form_parametrizacion set tabla='form_id', campo ='$id',opcion ='$tipo',descripcion= '$cantidad',visible ='1' WHERE id ='$id_visitas[0]' LIMIT 1"; } $link=Conectarse(); mysqli_set_charset($link, "utf8"); mysqli_real_escape_string($link,$consulta); $sql=mysqli_query($link,$consulta); $cantidad = "$cantidad <!-- analizador -->$_SESSION[analizador]<!-- analizador --></script>"; return $cantidad; } function geocoder($valor,$campo){ $respuesta = new xajaxResponse('utf-8'); if(strlen($valor) > 3) { $valor = urlencode($valor); $json = "https://nominatim.openstreetmap.org/search.php?format=json&limit=5&addressdetails=1&q=$valor&email=info@tupale.co"; $data = file_get_contents("$json"); if ($data=='429 Too Many Requests'){ return $data; } $geocoder = json_decode($data, true); if($data ==="[]") {$vacio=" <a class='pull-right' onclick=\"xajax_limpia_div('muestra_geocoder'); \"><i class='glyphicon glyphicon-remove-sign'></i></a> <strong class='text-danger center'><i class='glyphicon glyphicon-exclamation-triangle'></i> No se encontraron resultados</strong> ";} foreach ($geocoder as $clave => $valor) { $ciudad = $valor['address']['city']; $municipio = $valor['address']['town']; $pais = $valor['address']['country']; $departamento = $valor['address']['state']; $licencia= $valor['licence']; $link = "./milfs/mapa.php?lat=$valor[lon]&lon=$valor[lat]&zoom=16&id=$campo&exif"; ///$link = "$_SESSION[site]milfs/mapa.php?lat=$valor[lon]&lon=$valor[lat]&zoom=16&id=$campo&exif"; $linea .= " <div onclick=\" xajax_limpia_div('muestra_geocoder'); document.getElementById('mapita').src='$link'; \" style='padding:5px; border-radius: 3px;margin:5px;border: 1px solid gray; background-color : white;'> <ul class='list-unstyled' > <li><strong>$valor[display_name]</strong></li> <!-- <li>Lat: $valor[lat] lon $valor[lon]</li> --> <li><image src='$valor[icon]' > $ciudad $municipio $pais $departamento</li> </ul> </div> "; //foreach ($valor as $clave => $valor) { $linea .= "CLAVE : $clave > VALOR: $valor"; } } $resultado = " <div style='width: 100%;'> <a class='pull-right' onclick=\"xajax_limpia_div('muestra_geocoder'); \">Cerrar <i class='glyphicon glyphicon-remove-sign'></i></a> <br> $linea </div> <div class='text-center ' style='padding:5px; padding:5px; border-radius: 3px;margin:5px;border: 1px solid gray; background-color : white;'> <small>$vacio $licencia</small> </div>"; } //$div_contenido = "<div id='$div'>$div</div>"; //$respuesta->addAssign("muestra_form","innerHTML","$aviso"); //$respuesta->addAssign("titulo_modal","innerHTML","Hola mundo"); //$respuesta->addAssign("pie_modal","innerHTML","$pie"); $respuesta->addAssign("muestra_geocoder","innerHTML","$resultado"); //$respuesta->addscript("$('#muestraInfo').modal('toggle')"); return $respuesta; } $xajax->registerFunction("geocoder"); function mostrar_psi(){ $respuesta = new xajaxResponse('utf-8'); include("psi.php"); //$div_contenido = "<div id='$div'>$div</div>"; $respuesta->addAssign("muestra_form","innerHTML","$aviso"); //$respuesta->addAssign("titulo_modal","innerHTML","Hola mundo"); //$respuesta->addAssign("pie_modal","innerHTML","$pie"); //$respuesta->addAssign("$div","innerHTML","$resultado"); $respuesta->addscript("$('#muestraInfo').modal('toggle')"); return $respuesta; } $xajax->registerFunction("mostrar_psi"); function multiempresa_crear($tabla,$formulario,$div) { $formulario = limpiar_caracteres($formulario); $link=Conectarse(); mysqli_set_charset($link, "utf8"); foreach($formulario as $c=>$v){ $valores .= " $c = '".mysqli_real_escape_string($link,$v)."',"; } $valores = "$valores id_responsable = '$_SESSION[id]'"; $respuesta = new xajaxResponse('utf-8'); $insertar = "INSERT INTO $tabla set $valores"; $sql=mysqli_query($link,$insertar); if(mysqli_affected_rows($link) != 0){ } if($div !='') { } $respuesta->addScript("javascript:xajax_multiempresa('empresa','$div')"); return $respuesta; } $xajax->registerFunction("multiempresa_crear"); function nombre_dominio($url){ $protocolos = array('http://', 'https://', 'ftp://', 'www.'); $nombre = explode('/', str_replace($protocolos, '', $url)); // $nombre = substr($url[0],0,-strlen(strstr($url[0],"." ))); return $nombre[0]; } function configurar_dominio ($id,$tipo) { $directorio = "/opt/tupalescripts/"; $dominio = remplacetas('empresa','id',"$id",'web','') ; $nombre = nombre_dominio($dominio[0]); $nombre = str_replace(".", "_", $nombre); if($tipo =="crear" ) { $ar=fopen("$directorio".$id."","w"); //or die("Problemas en la creacion"); $variables=fopen("$directorio"."variables","w"); //or die("Problemas en la creacion"); $contenido = "dominio=$dominio[0] \nnombre=$nombre \nidem=$id \n"; fputs($ar,"$contenido"); fputs($variables,"$contenido"); fclose($ar); fclose($variables); $resultado ="Se configuró el dominio para $nombre "; }else { $borrar=fopen("$directorio"."borrar","w"); fputs($borrar,"nombre=$nombre"); fclose($borrar); unlink("$directorio".$id.""); $resultado ="Se ELIMINÓ el dominio $nombre "; } $respuesta = new xajaxResponse('utf-8'); $respuesta->addAssign("dominio_$id","innerHTML","$resultado"); return $respuesta; } $xajax->registerFunction("configurar_dominio"); function actualizar_codigo ($dato) { //$comando = "sudo /usr/local/bin/actualizarcodigo"; @include("includes/datos.php"); $email = remplacetas("$tabla_autenticacion","id",$_SESSION['id'],"email",""); $comando = "sudo /usr/local/bin/actualizarcodigo -m $email[0]"; $ejecutar= exec($comando) ; $respuesta = new xajaxResponse('utf-8'); $respuesta->addAlert("$ejecutar"); return $respuesta; } $xajax->registerFunction("actualizar_codigo"); function multiempresa($tabla,$div){ require ("includes/parametrizacion.php"); if($_SESSION['id'] == 1 AND $soporte_multiempresa !== 0) { if($div =="") { $div="contenido"; $resultado ="<a class='btn btn-warning' title='Configuración' href='#' onclick= \"xajax_multiempresa('empresa','$div') \"><i class='glyphicon glyphicon-cog'></i><i class='glyphicon glyphicon-cog'></i> Configuración multiempresa</a>"; return $resultado; } $link=Conectarse(); mysqli_set_charset($link, "utf8"); if(isset($_SESSION['id_empresa'])) {$id_empresa= $_SESSION['id_empresa'];}$consulta = "SELECT * FROM empresa "; $sql=mysqli_query($link,$consulta); $resultado="<table class='table table-striped table-responsive' > <legend>$name</legend> <tr ><th>Id</th><th>Nombre</th><th>Sigla</th><th>Email</th><th>Web</th><th>Dirección</th><th>Teléfono</th><th></th></tr> " ; if (mysqli_num_rows($sql)!='0'){ if($onchange !=''){$vacio ="";}else{$vacio ="<option value=''> >> Nuevo $descripcion << </option>";} $linea = 1; while( $row = mysqli_fetch_array( $sql ) ) { $razon_social= editar_campo("empresa",$row['id'],"razon_social","","","",""); $sigla= editar_campo("empresa",$row['id'],"sigla","","","",""); $email= editar_campo("empresa",$row['id'],"email","","","",""); $web= editar_campo("empresa",$row['id'],"web","","","",""); $direccion= editar_campo("empresa",$row['id'],"direccion","","","",""); $telefono= editar_campo("empresa",$row['id'],"telefono","","","",""); $estado= editar_campo("empresa",$row['id'],"estado","","","",""); if($row[id] !=1) { $dominio =""; $archivo= "/opt/tupalescripts/$row[id]"; //$archivo= "tmp/$row[id]"; if(file_exists("$archivo")) { $configuracion_dominio="ok"; $configuracion_dominio="<div id='dominio_$row[id]'><a class='btn btn-danger btn-sm' onclick=\"xajax_configurar_dominio($row[id],'eliminar'); \">DESconfigurar</a></div> "; } else{ $configuracion_dominio="<div id='dominio_$row[id]'><a class='btn btn-warning btn-sm' onclick=\"xajax_configurar_dominio($row[id],'crear'); \">Configurar</a></div> "; } $acciones = "<a href='#' onclick=\" xajax_eliminar_campo('empresa','$row[id]','tr_$row[id]')\"><i class='glyphicon glyphicon-trash'></i> </a> Estado: $estado $configuracion_dominio"; } $resultado .= "<tr id ='tr_$row[id]'><td>$row[id]</td><td>$razon_social</td><td>$sigla</td><td>$email</td><td>$web</td><td>$direccion</td><td>$telefono</td><td class='danger'>$acciones </td></tr>"; $linea++; } }else{ $resultado = "<div class='alert alert-warning alert_sin_resultados'><i class='glyphicon glyphicon-exclamation-triangle'></i> No hay resultados 0024</div>"; } $resultado .= " </table> <legend>Agregar empresa</legend> <div class='row'> <form autocomplete='off' role='form' id='agregar' class='agregar_area'name='agregar'> <input type='hidden' name='estado' id='estado' value='1'> <div class='col-xs-4'> <div class='input-group'> <span class='input-group-addon'>Nombre</span> <input placeholder='Nombre de la nueva empresa' class='form-control' type='text' id='razon_social' name='razon_social' > </div> </div> <div class='col-xs-4'> <div class='input-group'> <span class='input-group-addon'><i class='glyphicon glyphicon-envelope'></i></span> <input placeholder='Email de la nueva empresa' class='form-control' type='text' id='email' name='email' > </div> </div> <div class='col-xs-3'> <div class='input-group'> <span class='input-group-addon'><i class='glyphicon glyphicon-globe'></i></span> <input placeholder='Web de la nueva empresa' class='form-control' type='text' id='web' name='web' > </div> </div> <div class='col-xs-1'> <div class='btn btn-default btn-success btn-block' onclick=\"xajax_multiempresa_crear('$tabla',xajax.getFormValues('agregar'),'$div'); \"><i class='glyphicon glyphicon-floppy-disk'></i></div> </div> </form> </div> <br> "; //return $resultado; //$respuesta = new xajaxResponse('utf-8'); $respuesta = new xajaxResponse('utf-8'); $respuesta->addAssign("$div","innerHTML","$resultado"); return $respuesta; } } $xajax->registerFunction("multiempresa"); function array_control($form_id,$key,$valor){ $resultado = array(); $consulta = "SELECT control FROM form_datos WHERE form_id = '$form_id' AND id_campo = $key AND contenido = '$valor' "; $link=Conectarse(); mysqli_set_charset($link, "utf8"); $sql=mysqli_query($link,$consulta); if (mysqli_num_rows($sql)!='0'){ $cantidad = mysqli_num_rows($sql); while( $row = mysqli_fetch_array( $sql ) ) { $resultado[] = $row['control']; } } //$resultado = $row; return $resultado; } function contar_valores_formulario($campo,$key,$valor){ $consulta = "SELECT distinct($campo) as cantidad FROM form_datos WHERE $key LIKE '$valor' "; $link=Conectarse(); mysqli_set_charset($link, "utf8"); $sql=mysqli_query($link,$consulta); if (mysqli_num_rows($sql)!='0'){ $resultado = mysqli_num_rows($sql); //$resultado = mysqli_result($sql,0,"cantidad"); } $resultado .= ""; return $resultado; } function listar_campos_formulario($id_form,$tipo){ $tipo="$tipo"; $consulta = "SELECT distinct(id_campo),campo_nombre FROM form_datos,form_campos WHERE form_id = '$id_form' AND form_datos.id_campo = form_campos.id "; $link=Conectarse(); mysqli_set_charset($link, "utf8"); $sql=mysqli_query($link,$consulta); if (mysqli_num_rows($sql)!='0'){ while( $row = mysqli_fetch_array( $sql ) ) { if($tipo=="nombres"){ $resultado[] = "$row[campo_nombre]";} elseif($tipo=="select"){ $option .= "<option value='$row[id_campo]'>$row[campo_nombre]</option>"; } else{ //$resultado .= " $row[id_campo] "; $resultado[] = $row['id_campo']; } } if($tipo=="select"){ $resultado = " <select class='form-control' id='id_campo' name ='id_campo'> <option value='' >Campo</option> $option </select>"; } //$resultado = mysqli_result($sql,0,"cantidad"); } //$resultado .= " $consulta"; return $resultado; } //($formulario,$div,$registros,$pagina,$formato) function consultar_formulario($form,$registros,$pagina,$tipo){ if ($registros == ""){$registros=10;} $imagen =""; $busca =""; $busqueda =""; $fechas =""; $campo =""; $lineas =""; $linea =""; $formato =""; $listado_nombres =""; $id_empresa = ""; $respuesta = new xajaxResponse('utf-8'); //if(is_array($form)) {$id_form = $form['id_form'];}else { $id_form = $form;} //$id_empresa = $_SESSION['id_empresa']; $id_empresa = remplacetas('form_id','id',"$form[id_form]",'id_empresa',"") ; if($id_emprea[0] !="") { $id_empresa = $id_empresa[0]; }else{$id_empresa = $_SESSION['id_empresa'];} $resaltado = remplacetas('form_parametrizacion','opcion','resaltado','descripcion',"id_empresa = '$id_empresa' ") ; //$resaltado = remplacetas('form_parametrizacion','opcion','resaltado','descripcion',"id_empresa = '$id_empresa' ") ; if(is_array($form)) { $fecha_inicio = $form["inicio"]; if($fecha_inicio =="" ) { $fecha_inicio ="2000-01-01";} $fin = $form["fin"]; if( $fin !="") { $fechas = " AND timestamp BETWEEN UNIX_TIMESTAMP('$fecha_inicio') AND UNIX_TIMESTAMP('$fin 23:59:59')";} $id_form = $form['id_form']; @$id_campo = $form['id_campo']; $busqueda = $form['busqueda']; if($busqueda !=''){$busca ="AND contenido LIKE '%%$form[busqueda]%%'";}else{$busca ='';} if($id_campo !=''){$campo ="AND id_campo = '$id_campo'";}else{$campo ='';} }else{ $id_form = $form; } $con_respuesta = remplacetas_noid("form_id","formulario_respuesta","$id_form","id","",""); // AND form_datos.id_empresa = '$id_empresa' $consulta_principal = "SELECT control,id,form_id,timestamp FROM form_datos WHERE form_id = '$id_form' $busca $campo $fechas GROUP BY form_datos.control ORDER BY form_datos.id DESC "; $link=Conectarse(); mysqli_set_charset($link, "utf8"); $sql_total=mysqli_query($link,$consulta_principal); $total_registros = mysqli_num_rows($sql_total);//formulario_contar($id_form); /// PAGINACION if ($pagina =='') {$inicio = 0; $pagina = 1; } else { $inicio = ($pagina - 1) * $registros;} if($total_registros < $registros) { $limite ="";} else{$limite =" LIMIT $inicio, $registros ";} if($tipo == "csv" ) {$consulta_limite = "$consulta_principal";} else{$consulta_limite = $consulta_principal.$limite;} $sql=mysqli_query($link,$consulta_limite); //$sql=mysqli_query($link,$consulta_principal); if (mysqli_num_rows($sql)!='0'){ /////// FILTRO $fecha = time (); $ahora = date ( "Y-m-d" , $fecha ); $campos = listar_campos_formulario($id_form,"select"); $peticion = " <form autocomplete='off' class='form' role='form' name='peticion' id='peticion' action='' target='rss' method='post'> <div class='row'> <div class='col-lg-3'> <div class='input-group'> <span class='input-group-addon'>Inicio</span> <input value = '2000-01-01' type='date' name='inicio' id='inicio' class='form-control' title='YYYY-MM-DD'> </div> </div> <div class='col-lg-3'> <div class='input-group'> <span class='input-group-addon'>Fin</span> <input type='date' name='fin' id='fin' class='form-control' title='YYYY-MM-DD' value='$ahora' > </div> </div> <div class='col-lg-2'> <div class='input-group'> <span class='input-group-addon'>Frase</span> <input value='$busqueda' type=text name='busqueda' id='busqueda' placeholder='Cadena de busqueda' class='form-control' > </div> </div> <div class='col-lg-3'> <div class='input-group'> <span class='input-group-addon'><i class='glyphicon glyphicon-filter'></i></span> $campos </div> </div> <div class='col-lg-1'> <input type='hidden' value='$id_form' id='id_form' name ='id_form'> <div class='btn btn-default' OnClick=\"xajax_consultar_formulario(xajax.getFormValues('peticion'),'10','','filtro');\"><i class='glyphicon glyphicon-search'></i></div> </div> </div> </form> "; /////// FILTRO $boton_borrar = " <a class='btn btn-default' onclick=\"xajax_borrar_tmp('div_resultados'); xajax_limpia_div('div_resultados');\"><i class='glyphicon glyphicon-trash'></i></a> "; if($formato!='csv'){ $boton_exportar = "<!-- <a class='btn btn-default' OnClick=\"xajax_consultar_formulario(xajax.getFormValues('peticion'),'','','csv');\">Exportar xxx<i class='glyphicon glyphicon-file-text-o'></i></a> -->";} $link = ""; // $page = $_GET['page']; $page= $pagina; @$pages= ceil($total_registros / $registros); //13; // Hardcoded for testing purpose $limit=10 ; if ($pages >=1 && $page <= $pages) { $counter = 1; $link = ""; if (($page -1) > 0) { $link .= "<li><a title='Cambiar a la página 1' onClick=\"xajax_consultar_formulario(xajax.getFormValues('peticion'),'$registros','1','');\"' style='cursor:pointer'><i class='glyphicon glyphicon-step-backward'></i></a> </li> <li><a title='Cambiar a la página ".($pagina-1)."' onClick=\"xajax_consultar_formulario(xajax.getFormValues('peticion'),'$registros','".($pagina-1)."','');\"' style='cursor:pointer'><i class='glyphicon glyphicon-backward'></i></a> </li>"; } for ($x=$page; $x<=$pages;$x++) { if($counter < $limit){ if ($page == $x){ $link .= "<li class='active'><a title='Cambiar a la pagina $x' onClick=\"xajax_consultar_formulario(xajax.getFormValues('peticion'),'$registros','$x','');\"' style='cursor:pointer'>$x</a> </li>"; }else{ $link .= "<li class=''><a title='Cambiar a la pagina $x' onClick=\"xajax_consultar_formulario(xajax.getFormValues('peticion'),'$registros','$x','');\"' style='cursor:pointer'>$x</a> </li>"; } } $counter++; } if ($page < ($pages - ($limit/2))) { $link .= "<li><a title='Cambiar a la pagina ".($pagina+1)."' onClick=\"xajax_consultar_formulario(xajax.getFormValues('peticion'),'$registros','".($pagina+1)."','');\"' style='cursor:pointer'><i class='glyphicon glyphicon-forward'></i></a></li> <li class=''><a title='Cambiar a la pagina $pages' onClick=\"xajax_consultar_formulario(xajax.getFormValues('peticion'),'$registros','$pages','');\"' style='cursor:pointer'><i class='glyphicon glyphicon-step-forward'></i> </a></li>"; } } $paginacion = "<ul class='pagination '>$link</ul>"; $encabezado = " <div class='row'> <div class='col-sm-12'> $peticion </div> </div> <div class='row' id='botonera'> <div class='col-sm-12'> <ul class='pagination'> <li role='presentation'><span>$total_registros registros</span></li> <li role='presentation'>$boton_borrar</li> <li role='presentation'>$boton_exportar</li> </ul> $paginacion </div> </div>"; $total_registros = mysqli_num_rows($sql); $nombres_campos = listar_campos_formulario("$id_form","nombres"); foreach($nombres_campos as $campo_nombre=>$nombre){ $listado_nombres .= "<th>$nombre</th>"; } $listado_nombres = "<tr><th class='actions' ></th><th>Identificador</th><th></th><th>Respuestas</th>$listado_nombres </tr>"; $listado_campos = listar_campos_formulario("$id_form",''); while( $row = mysqli_fetch_array( $sql ) ) { //$cantidad_campos = contar_valores_formulario("id_campo","control","$row[control]"); if($con_respuesta[0] !="") { //$contenido_respuestas = datos_array("$row[control]","$row[form_id]","$row[timestamp]"); $contenido_respuestas = array_respuestas("$id_form",$row['control'],"array");//formulario_imprimir("$row[form_id]","$identificador","array",""); ///array_respuestas("$row[form_id]","$row[control]","json"); //$respuestas= json_encode($contenido_respuestas,JSON_FORCE_OBJECT);//"$contenido_respuestas $row[control] //$row[timestamp] // $row[form_id]"; $listado_campos =" <td>$contenido_respuestas</td>"; }else{ $listado_campos =" <td></td>";} //$listado_campos =" <td>$con_respuesta[0]</td>"; $campos = listar_campos_formulario("$id_form",''); foreach($campos as $campo=>$valor){ $id_campo=$valor; //$imagen = buscar_imagen($if_form,$row['control'],"",""); $contenido = remplacetas('form_datos','control',$row['control'],'contenido',"id_campo ='$valor' and form_id= '$id_form'") ; $id_dato[0] = $contenido[1];// remplacetas('form_datos','control',$row['control'],'id',"id_campo ='$valor' ") ; $multiple = remplacetas('form_contenido_campos','id_form',$id_form,'multiple',"id_campo ='$valor' ") ; //$id_empresa = remplacetas('form_datos','control',$row['control'],'id_empresa',"id_campo ='$valor' ") ; $tipo_campo = remplacetas('form_campos','id',$valor,'campo_tipo',"") ; $web = remplacetas("empresa","id",$id_empresa,"web",""); if($tipo_campo[0] ==15 AND $contenido[0] != "") { @$listado_campos .= " <td title='$tipo_campo[0]' > <div <div class='thumbnail'> <img class='img img-responsive ing-rounded' src='https://".$web[0]."/milfs/images/secure/?file=150/$contenido[0]'> <div class='caption'><input onclick='select()' style='width:100px;' value='https://".$web[0]."/milfs/images/secure/?file=150/$contenido[0]'></div> </div> </td>"; } elseif(($tipo_campo[0] ==1 or $tipo_campo[0] ==2 or $tipo_campo[0] ==3 or $tipo_campo[0] ==4 or $tipo_campo[0] ==12 or $tipo_campo[0] ==13 )AND $contenido[0] != "") { $editar_contenido = editar_campo("form_datos","$id_dato[0]","contenido","","","",""); // @$listado_campos .= "<td title='' >$editar_contenido</td>"; if($multiple[0] =='1') { $contenido_multiple = formulario_valor_campo("$id_form","$valor","","$row[control]",'',"$row[timestamp]"); //$contenido[0] = $contenido_multiple[8]; $listado_campos.="<td>$contenido_multiple[11]</td>"; }else{$listado_campos.="<td>$editar_contenido</td>";} } elseif($tipo_campo[0]=='10'){ $valor_actual = relacion_render("$id_form","$row[id_campo]",$contenido[0],'5','relacion_drop'); @$listado_campos .= "<td title='' >$valor_actual</td>"; } elseif($tipo_campo[0] =="6" ) { $contenido_campo =imprimir_buscador_campo($valor,$contenido[0]) ; @$listado_campos .= "<td title='' >$contenido_campo </td>"; } elseif($tipo_campo[0] =="29" ) { @$listado_campos .= "<td title='' ><img class='img' height='100' src='$contenido[0]'> </td>"; } elseif($tipo_campo[0] =="30" or $tipo_campo[0] =="24" ) { $json = html_entity_decode($contenido[0]); $valor_actual = json_render(html_entity_decode($contenido[0]),"html","$row[control]"); @$listado_campos .= "<td title='' >$valor_actual</td>"; } elseif( $tipo_campo[0] =="34" ) { if($contenido[0] !=""){ $contenido_limpio = stripslashes($contenido[0]); $contenido_array = json_decode($contenido_limpio,true); $array =$contenido_array[$id_campo][0]; $valor_actual= campo_tabla($array,$control,$tipo).""; }else{ $valor_actual="";} @$listado_campos .= "<td title='' >$valor_actual</td>"; } elseif($tipo_campo[0] =="31") { //$json = html_entity_decode($contenido[0]); $link_url = "$_SESSION[site]milfs/archivos/?archivo=$contenido[0]"; $valor_actual = "<a id='link_$row[id_campo]_$row[orden]_consultar_formulario' href='$link_url' target='_blank' >$contenido[0]</a>"; @$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 { if($multiple[0] =='1') { $contenido_multiple = formulario_valor_campo("$id_form","$valor","","$row[control]",'',"$row[timestamp]"); $contenido[0] = $contenido_multiple[8];}else{$contenido[0]=$contenido[0];} @$listado_campos .= "<td title='$tipo_campo[0]' >$contenido[0] </td>"; } } if (!is_array($listado_campos)){$listado_campos="<td >$listado_campos </td>";}else {$listado_campos=$listado_campos;} $areas = resumen_identificador("$row[control]",'','','boton'); $acceso = generar_acceso($row[control],"",""); if($resaltado[0] =="$row[control]") {$iresaltar =" <span class='badge'>Resaltado</span>"; $alert="info";} else { $iresaltar = "<div class='btn btn-default btn-xs ' onclick=\"xajax_parametrizacion_linea('index','resaltado','resaltado','$row[control]','resultado_resaltado'); \" title='Si se marca este item se mostrará en la portada'> Resaltar</div> <div id='resultado_resaltado'> </div>"; $alert=""; } $menu ="<td class='actions $alert ' > <div class='container-fluid'> <div class='row'> <div class='col-md-12'> <a class='btn btn-default btn-xs' target='form' href='../I$row[control]'><i class='glyphicon glyphicon-eye-open'></i> Plantilla</a> </div> <div class='col-md-12' > $areas <div id='areas_$row[control]'></div> </div> </div > <div class='row'> <div class='col-md-12'> <a title='Editar' class='btn btn-default btn-xs' onclick=\"xajax_formulario_embebido_ajax('','$row[form_id]','$row[control]','edit'); \"><i class='glyphicon glyphicon-pencil'></i> E</a> <a title='Borrar' class='btn btn-default btn-xs' onclick=\"xajax_eliminar_identificador('$row[control]','','$row[form_id]'); \" href='#'><i class='glyphicon glyphicon-trash'></i> B</a> <a title='Clonar' class='btn btn-default btn-xs' onclick=\"xajax_clonar_identificador('$row[control]',''); \" href='#'><i class='glyphicon glyphicon-clone'></i> C</a> <div id='eliminar_$row[control]'></div> <div id='clonar_$row[control]'></div> </div> </div > <div class='row'> <div class='col-md-12' > $acceso <div id='areas_$row[control]'></div> </div> </div > <div class='row'> <div class='col-md-12'> $imagen </div> </div > <div class='row'> <div class='col-md-12'> $iresaltar </div> </div > </div> </td>"; $lineas .= " <tr>$menu<td>$row[control]</td>$listado_campos</tr>"; } $tabla =" <table class='table table-condensed table-striped table-bordered' > <thead>$listado_nombres</thead> <tbody > $lineas </tbody> </table>"; $resultado = " $encabezado <div class='container-fluid' style='overflow:auto; height:400px; ' id='div_resultados' > $tabla </div> "; } else { $resultado ="<div class='alert alert-warning' ><h1>No hay resultados 0001</h1> </div>"; $respuesta->addAlert("No hay resultados 0025 "); return $respuesta; } if($tipo =="csv") { $html = str_get_html($tabla); // header('Content-type: application/ms-excel'); // header('Content-Disposition: attachment; filename=sample.csv'); $nombre_archivo ="tmp/Prueba_Formulario_".mktime()."_".$_SESSION['id'].".csv"; //$fp = fopen("php://output", "w"); $fp=fopen($nombre_archivo , "w"); foreach($html->find('tr') as $element) { $td = array(); foreach( $element->find('th') as $row) { if (strpos(trim($row->class), 'actions') === false && strpos(trim($row->class), 'checker') === false) { $td [] = $row->plaintext; } } if (!empty($td)) { fputcsv($fp, $td); } $td = array(); foreach( $element->find('td') as $row) { if (strpos(trim($row->class), 'actions') === false && strpos(trim($row->class), 'checker') === false) { $td [] = $row->plaintext; } } fputcsv($fp, $td); } fclose($fp); $boton_descarga ="<a class='btn btn-default btn-success' href='$nombre_archivo'>Descargar <i class='glyphicon glyphicon-cloud-download'></i></a>"; $datos ="$boton_descarga"; }else { $datos = $resultado; } $div ="contenido_de_modal"; $resultado = "<div class=''> $datos</div>"; $div_contenido = "<div id='$div' >$div</div>"; $respuesta->addAssign("muestra_form","innerHTML","$div_contenido"); //$respuesta->addAssign("titulo_modal","innerHTML","Hola mundo"); //$respuesta->addAssign("pie_modal","innerHTML","$pie"); $respuesta->addAssign("$div","innerHTML","$resultado"); if($tipo =="modal") { $respuesta->addscript("$('#muestraInfo').removeClass('fade').modal('hide')"); $respuesta->addscript("$('#muestraInfo').modal('toggle')"); } return $respuesta; } $xajax->registerFunction("consultar_formulario"); function datos_array($identificador,$id_form,$timestamp) { if($id_form !="") { $w= "AND form_id ='$id_form' "; }else { $w= " "; } $array = array(); $link=Conectarse(); mysqli_set_charset($link, "utf8"); if($timestamp != "") { $consulta = "SELECT * FROM form_datos WHERE control = '$identificador' AND form_id != '$id_form' GROUP BY form_id , timestamp "; // $array["consulta"] = "$consulta"; // return $timestam; }else{ $consulta ="SELECT * FROM form_datos WHERE control = '$identificador' $w GROUP BY timestamp,id_campo ORDER BY timestamp DESC "; } $sql = mysqli_query($link,$consulta) or die("Error al ejecutar consulta 02 "); // $id_form = remplacetas('form_datos','control',"$identificador",'form_id'," form_id= '$id_form'") ; $campo_titulo = remplacetas('form_parametrizacion','campo',$id_form,'descripcion'," tabla='form_id' and opcion = 'titulo'") ; $campo_titulo_nombre = remplacetas('form_campos','id',$campo_titulo[0],'campo_nombre',"") ; //$array["consulta"] = "$consulta"; $array["identificador"] = "$identificador"; $array["id_aplicacion"] = "$id_form"; //$array["consulta_form"] = "$id_form[2]"; //$array["consulta"] = "$consulta"; $con_respuesta = remplacetas_noid("form_id","formulario_respuesta","$id_form","id","",""); //$array["responde"] = json_decode("$con_respuesta[3]"); $array["responde"] = $con_respuesta[0]; while($row = mysqli_fetch_array( $sql )) { $array["id_aplicacion"] = "$row[form_id]"; $aplicacion_nombre = remplacetas("form_id","id",$row["form_id"],"nombre",""); $aplicacion_descripcion = remplacetas("form_id","id",$row["form_id"],"descripcion",""); $array["aplicacion_nombre"]= $aplicacion_nombre[0]; $array["aplicacion_descripcion"]= $aplicacion_descripcion[0]; $id_campo = remplacetas('form_datos','id',$row["id"],'id_campo',"") ; $campo_tipo = remplacetas("form_campos","id",$row["id_campo"],"campo_tipo",""); $multiple = remplacetas('form_contenido_campos','id_form',$row['form_id'],'multiple',"id_campo ='$id_campo[0]' ") ; if($multiple[0] =='1') { // $array['multiple'] ="$contenido[0]"; $contenido_multiple = formulario_valor_campo("$row[form_id]","$id_campo[0]","","$identificador",'',"$row[timestamp]"); $contenido[0] = $contenido_multiple[9];} else{ $contenido = remplacetas_orden('form_datos','id_campo',$row["id_campo"],'contenido'," control = '$identificador'"," ORDER BY timestamp DESC ") ;} //$contenido[0] =stripslashes($contenido[0]); //$contenido[0] =stripslashes($contenido[0]); $contenido[0] =stripslashes($contenido[0]); $contenido[0] =stripslashes($contenido[0]); $is_json = isJson($contenido[0]); /*if($is_json == '1'){ $cadena='{"a":1,"b":2,"c":3,"d":4,"e":5}'; $contenido[0] = json_decode($contenido[0],true); }else{} * */ //$contenido[0] = "$contenido[0] $is_json "; //$contenido[0] = json_encode($contenido,true,512); $nombre_campo = remplacetas('form_campos','id',$id_campo[0],'campo_nombre',"") ; // $valor_actual = imprimir_buscador_campo("$id_campo","$row[contenido]",'buscador_drop'); if($campo_tipo[0]=='10'){ $valor_actual = relacion_render($row["form_id"],$row["id_campo"],$contenido[0],'5','relacion_drop'); $contenido[0] = "$valor_actual";} if($campo_tipo[0]=='6'){ // $valor_actual = relacion_render($row["form_id"],$row["id_campo"],$contenido[0],'5','relacion_drop'); $valor_actual = imprimir_buscador_campo($row["form_id"],"$contenido[0]",'buscador_drop'); $contenido[0] = "$valor_actual";} if($campo_tipo[0] =='31') { $link_url = "$_SESSION[site]milfs/archivos/?archivo=$contenido[0]"; $contenido[0] = $link_url; } if($campo_tipo[0] =='34') { //$link_url = "$_SESSION[site]milfs/archivos/?archivo=$contenido[0]"; //$json = stripslashes($contenido[0]); $array_json = json_decode($contenido[0],true); $contenido[0] = $array_json[$row['id_campo']][0]; //$contenido[0] = $array_json; } // if($campo_tipo[0] =='32') { if($nombre_campo[0] =='Inicio') { $array['start'] = "$contenido[0]"; } else { if($campo_tipo[0] =='32' OR $campo_tipo[0] =='11') { $array['start'] = "$contenido[0]"; } // $array['start'] = "$contenido[0]"; } if($nombre_campo[0] =='Fin') { $array['end'] = "$contenido[0]"; } /* } elseif($campo_tipo[0] =='11') { // $array['start'] = "$contenido[0]"; if($nombre_campo[0] =='Fin') { $array['end'] = "$contenido[0]"; } }else{} */ //$array[id_campo] = $row[id_campo]; if($id_campo[0] == $campo_titulo[0] or $nombre_campo[0] == 'Titulo' ) { $array['title'] = strip_tags(html_entity_decode($contenido[0])); } //// PRIVACIDAD $privado = remplacetas('form_parametrizacion','campo',"$row[form_id]",'opcion'," tabla='form_id' AND descripcion ='$id_campo[0]' AND opcion REGEXP '^privacidad:' ") ; $privado = explode(":",$privado[0]); $privado = @$privado[1]; /// PRIVACIDAD if($privado !='1') { // if(!is_array($contenido[0])){ $array[$nombre_campo[0]] = @html_entity_decode($contenido[0]); }else{ $array[$nombre_campo[0]] = $contenido[0]; } //$array['consulta'] = "$contenido[2]"; $uri = "$_SESSION[site]I$identificador"; $array['url'] = "$uri"; $array['timestamp'] = "$row[timestamp]"; $array['proceso'] = "$row[proceso]"; $array['id'] = "$row[id]"; $array['orden'] = "$row[orden]"; // $array['multiple']= $multiple[0]; //$array[] = $row; if($con_respuesta[0] !="") { //$contenido_respuestas = datos_array("$identificador","$row[form_id]","$row[timestamp]"); $contenido_respuestas = array_respuestas("$row[form_id]",$identificador,"array");//formulario_imprimir("$row[form_id]","$identificador","array",""); ///array_respuestas("$row[form_id]","$row[control]","json"); $array["responder"]= stripcslashes(json_encode($contenido_respuestas,JSON_FORCE_OBJECT|JSON_UNESCAPED_UNICODE));//"$contenido_respuestas $row[control] //$row[timestamp] // $row[form_id]"; } } } return $array; } function isJson($str) { $json = json_decode($str); return (json_last_error() === JSON_ERROR_NONE); } function array_respuestas($id,$identificador,$plantilla) { $datos= array(); //$datos['id']= $request->getAttribute('id'); $datos['identificador']= $identificador; $datos['tipo']='simple'; //$datos['id']="76"; //return json($datos); if($id=='') {return;} $id = mysql_seguridad($id); $formulario_respuesta = formulario_respuesta("$id","$identificador"); $consulta = "SELECT form_id , timestamp FROM form_datos WHERE control = '$identificador' AND form_id != '$id' GROUP BY form_id , timestamp"; //return $consulta; $array = array(); $link=Conectarse(); mysqli_set_charset($link, "utf8"); $sql=mysqli_query($link,$consulta); if (mysqli_num_rows($sql)!='0'){ mysqli_data_seek($sql, 0); $resultado =""; while( $row = mysqli_fetch_array( $sql ) ) { $fecha = date("Y-m-d H:i:s", $row['timestamp']); //$respuesta['formulario'] = mostrar_identificador("$identificador","$row[form_id]","array","array","$row[timestamp]"); $resultado_linea = mostrar_identificador("$identificador","$row[form_id]","landingpage","array","$row[timestamp]"); $resultado .= "<li class='list-group-item'><span class='small'>$fecha</span> $resultado_linea</li>"; } //$array[] = $respuesta; $resutado ="<div class='respuesta container'> $resultado</div>"; }else{$resultado ="";} //$resultado = "$resultado $formulario_respuesta"; //return $resultado; return $resultado; } function parametrizacion_linea($tabla,$campo,$opcion,$descripcion,$div,$script,$item){ if(isset($_SESSION['id_empresa']) ){$id_empresa= $_SESSION['id_empresa']; }else{ $id_empresa=""; } $respuesta = new xajaxResponse('utf-8'); if($tabla =="") { $resultado = ""; return $resultado; } $link=Conectarse(); mysqli_query($link,"SET NAMES 'utf8mb4'"); $limpiar ="DELETE FROM `form_parametrizacion` WHERE tabla = '".mysqli_real_escape_string($link,$tabla)."' AND campo ='".mysqli_real_escape_string($link,$campo)."' AND opcion ='".mysqli_real_escape_string($link,$opcion)."' AND id_empresa = '$id_empresa' AND item = '".mysqli_real_escape_string($link,$item)."' LIMIT 1 "; $sql=mysqli_query($link,$limpiar); $consulta="INSERT INTO form_parametrizacion set tabla = '".mysqli_real_escape_string($link,$tabla)."' , campo ='".mysqli_real_escape_string($link,$campo)."', opcion ='".mysqli_real_escape_string($link,$opcion)."', descripcion ='".mysqli_real_escape_string($link,$descripcion)."', item ='".mysqli_real_escape_string($link,$item)."', visible='1' , id_empresa = '$id_empresa'"; $sql=mysqli_query($link,$consulta); if($sql) { if($descripcion =="") { // $respuesta->addAlert("ATENCION: Se grabó un campo vacío, esto no es necesariamente un error pero indica que el valor de parametrización se sobreescribió como vacío. "); } $id = mysqli_insert_id($link); if($script != "") { $respuesta->addScript("$script"); return $respuesta; } if($div != "") { $resultado = " $descripcion "; $respuesta->addAssign("$div","innerHTML",$resultado); return $respuesta; }else { return $id; } }else { if($div != "") { $resultado = " $descripcion "; $respuesta->addAssign("$div","innerHTML",$consulta); return $respuesta; }else { return;// $consulta; } //$respuesta->addAlert("$consulta"); //return $consulta; } ///$respuesta->addAssign("$div","innerHTML",$exito); return $respuesta; } $xajax->registerFunction("parametrizacion_linea"); function email_contenido($id,$control,$id_campo,$email_envio){ if($email_envio =="") { $email = remplacetas('form_datos','control',"$control",'contenido',"form_id = '$id' AND id_campo ='$id_campo' ") ; $formulario = " <div id='confirmar_envio_email'> <div class='input-group' id='input_email_envio' > <span class='input-group-addon'><i class='glyphicon glyphicon-envelope'></i></span> <input class='form-control' type='email' id='email_envio' name='email_envio' value='$email[0]' > <div class='input-group-btn'> <div class='btn btn-warning' onclick=\"xajax_email_contenido('$id','$control','$id_campo',(document.getElementById('email_envio').value)); \">Enviar</div> </div> </div> </div> "; return $formulario; } $respuesta = new xajaxResponse('utf-8'); $validar = validar_email($email_envio); if($validar == '0') { $respuesta->addAssign("input_email_envio","className"," input-group has-error "); $respuesta->addScript("document.getElementById('email_envio').focus(); "); $respuesta->addAlert("Se necesita un email válido"); return $respuesta; } $propietario = remplacetas('form_id','id',$id,'propietario',"") ; $propietario = remplacetas('usuarios','id',$propietario[0],'email',"") ; $id_empresa = remplacetas('form_id','id',$id,'id_empresa',"") ; $id_empresa = $id_empresa[0]; $encabezado = empresa_datos("$id_empresa",'encabezado'); $direccion = remplacetas("empresa","id",$id_empresa,"direccion",""); $telefono = remplacetas("empresa","id",$id_empresa,"telefono",""); $web = remplacetas("empresa","id",$id_empresa,"web",""); //// siempre se enviara el email desde el mail parametrizado en la empresa 1 //$email = remplacetas("empresa","id","1","email",""); $email = remplacetas("empresa","id","1","email",""); $reply = remplacetas("empresa","id","$id_empresa","email",""); $imagen = remplacetas("empresa","id",$id_empresa,"imagen",""); $razon_social = remplacetas("empresa","id",$id_empresa,"razon_social",""); $slogan = remplacetas("empresa","id",$id_empresa,"slogan",""); $nombre_formulario = remplacetas("form_id","id",$id,"nombre",""); /* * $headers = "MIME-Version: 1.0\r\n"; $headers .= "Content-type: text/html; charset=utf-8\r\n"; $headers .= "From: $nombre_respuesta <".$email[0].">\r\n"; $headers .= "Reply-To: $nombre_respuesta <".$email_respuesta.">\r\n"; $headers .= "Return-path: <$email[0]>\r\n"; * * */ $headers = "MIME-Version: 1.0\r\n"; $headers .= "Content-type: text/html; charset=utf-8\r\n"; $headers .= "From: $email[0] \r\n"; $headers .= "Reply-To: <$reply[0]>\r\n"; $headers .= "Return-path: <$email[0]>\r\n"; $headers .= "Cc: $propietario[0]" . "\r\n"; $impresion = formulario_imprimir("$id","$control","email",""); $impresion =" $encabezado <div style='border 1px solid black; border-radius: 30px; '>$impresion</div>"; $asunto= "[MILFS] $nombre_formulario[0]"; $cuerpo =" <!-- plantilla email --> $impresion <!-- plantilla email --> </p>Se ha completado el formulario <b>$nombre_formulario[0]</b></p> <p>Puede revisar los datos en <a href='$_SESSION[site]I$control'>$_SESSION[site]I$control</a></p> <p>Saludos de MILFS</p> "; if(mail("$email_envio","$asunto","$cuerpo","$headers")){ $exito .="<strong class='text-suggest'>Se envió un email a $email_envio</strong>"; }else {$exito .="error enviando correo <pre>[$id_empresa] ( $email[0] $email[2] ) // $email_envio,$asunto,$headers</pre>";} $respuesta->addAssign("confirmar_envio_email","innerHTML",$exito); return $respuesta; } $xajax->registerFunction("email_contenido"); function mapa_ficha($id) { $descripcion = remplacetas('form_id','id',$id,'descripcion','') ; $descripcion_limpia = strip_tags($descripcion[0]); $nombre = remplacetas('form_id','id',$id,'nombre','') ; $id_empresa = remplacetas('form_id','id',$id,'id_empresa','') ; $id_empresa = $id_empresa[0]; $direccion = remplacetas("empresa","id",$id_empresa,"direccion",""); $telefono = remplacetas("empresa","id",$id_empresa,"telefono",""); $web = remplacetas("empresa","id",$id_empresa,"web",""); $email = remplacetas("empresa","id",$id_empresa,"email",""); $imagen = remplacetas("empresa","id",$id_empresa,"imagen",""); $razon_social = remplacetas("empresa","id",$id_empresa,"razon_social",""); $slogan = remplacetas("empresa","id",$id_empresa,"slogan",""); $imagen = "<img class='img-round img-responsive ' style='width:100%' src='images/secure/?file=300/$imagen[0]'>"; $datos ="<h3>$nombre[0]</h3><strong>$descripcion[0]</strong> "; $empresa = "<div class='small'>$razon_social[0] | <a href='$web[0]' target='web'>$web[0]</a> | $direccion[0] | $email[0] </div>"; //$prueba = json_decode($prueba); $resultado =" <div style='border-radius:10px ; vertical-align: top; background-color:white ; right:5px ; position:absolute ; top:5px; padding:5px ;' class='panel-map' id='panel_map_$id' > <A href='#' onclick=\"xajax_limpia_div('panel_map_$id'); \"><span class='pull-right'><i class='glyphicon glyphicon-remove-sign'></i></span></A> <div role='row' class='row center-block' > <div class='col-xs-4 col-md-12'> $imagen </div> <div class='col-xs-8 col-md-12'> <h4 class='text-center'> $nombre[0]<small> $descripcion_limpia[0]</h4> </div> <div class='col-xs-8 col-md-12'> <p>$razon_social[0]</p> <A target='milfs' HREF='https://github.com/humano/milfs'><small class='pull-right'>MILFS</small></A> </div> </div> </div> "; return $resultado; } function formulario_parametrizacion($perfil,$accion,$div,$form){ $respuesta = new xajaxResponse('utf-8'); $nombre = remplacetas('form_id','id',$perfil,'nombre','') ; if($accion =='categorias') { } elseif($accion =='grabar'){ } else { $listado =" <div> <ul id='listado_parametrizacion' class='nav nav-tabs' role='tablist'> <li role='presentation' class=''> <a href='#' aria-expanded='true' id='regresar' role='tab' data-toggle='tab' aria-controls='div_parametrizacion' onclick=\"xajax_formulario_listado('','contenido',''); \" class='' > <i class='glyphicon glyphicon-arrow-left'></i> </a> </li> <li role='presentation' class=''> <a href='#' id='plantillas_tabs' role='tab' data-toggle='tab' aria-controls='div_parametrizacion' class='' onclick=\"xajax_parametrizacion_plantilla('$perfil','div_parametrizacion','boton') \" >Plantillas</a> </li> <li role='presentation' class=' '> <a href='#' id='titulo_tabs' role='tab' data-toggle='tab' aria-controls='div_parametrizacion' class='' onclick=\"xajax_parametrizacion_titulo('$perfil','div_parametrizacion','') \" >Campos especiales</a> </li> <li role='presentation' class=' '> <a href='#' id='mapa_tabs' role='tab' data-toggle='tab' aria-controls='div_parametrizacion' class='' onclick=\"xajax_parametrizacion_mapa('$perfil','div_parametrizacion','') \" >Mapa</a> </li> <li role='presentation' class=' '> <a href='#' id='categorias_tabs' role='tab' data-toggle='tab' aria-controls='div_parametrizacion' class='' onclick=\"xajax_parametrizacion_categoria('$perfil','categorias','div_parametrizacion','') \" >Categorías</a> </li> </ul> <div class='tab-content' style ='min-height:350px;' > <div role='tab-panel fade' class='tab-panel active' id='div_parametrizacion'> <legend>Parametrización</legend> <p>Parametrización del formulario <stron>$nombre[0]</strong>. Por favor seleccione una opción</p> </div> </div> </div> "; $respuesta->addAssign($div,"innerHTML",$listado); return $respuesta; } $link=Conectarse(); mysqli_set_charset($link, "utf8"); $consulta = " SELECT md5(binary contenido) as md5_contenido, contenido FROM form_datos WHERE form_id = '$perfil' AND id_campo = '$campo' GROUP BY contenido ORDER BY contenido asc"; $sql=mysqli_query($link,$consulta); if (mysqli_num_rows($sql)!='0'){ $resultado = "<label for='id_campo'>Filtro</label> <select class='form-control' name='campo_filtro' id='campo_filtro' > <option value=''>Todos</option>"; while( $row = mysqli_fetch_array( $sql ) ) { $resultado .= " <option value='$row[md5_contenido]' title=''>$row[contenido]</option>"; } $resultado .= " </select >"; } else{$resultado = 'nada';} if($div !="") { $respuesta->addAssign($div,"innerHTML",$resultado); return $respuesta; }else{return $resultado;} } $xajax->registerFunction("formulario_parametrizacion"); function lista_items($perfil,$categoria,$tipo) { $link=Conectarse(); $resultado=""; mysqli_set_charset($link, "utf8"); $categoria_campo = remplacetas('form_parametrizacion','campo',$perfil,'descripcion'," tabla='form_id' and opcion = 'categoria:campo'") ; $categoria_campo = $categoria_campo[0]; $campo_nombre = remplacetas('form_campos','id',"$categoria_campo",'campo_nombre',"") ; $campo_titulo = remplacetas('form_parametrizacion','campo',$perfil,'descripcion'," tabla='form_id' and opcion = 'titulo'") ; //$campo_titulo_nombre = remplacetas('form_campos','id',$campo_titulo[0],'campo_nombre',"") ; if($categoria_campo >0 ) { $consulta = " SELECT distinct(contenido) , md5(binary contenido) as md5_contenido, control FROM form_datos WHERE form_id = '$perfil' AND contenido = '$categoria' GROUP BY control ORDER BY contenido asc"; $sql=mysqli_query($link,$consulta); if (mysqli_num_rows($sql)!='0'){ if($tipo=='mapa'){$col=""; $categoria_leyenda ="";}else{$col="col-md-6"; $categoria_leyenda="<li class='list-group-item list-group-item-dark'><strong>Categoría actual: $campo_nombre[0]</strong></li>";} $resultado = "<ul class='list-group $col'> $categopria_leyenda "; while( $row = mysqli_fetch_array( $sql ) ) { $titulo = remplacetas('form_datos','id_campo',$campo_titulo[0],'contenido'," control='$row[control]'") ; $icono = remplacetas('form_parametrizacion','campo',$perfil,'descripcion'," tabla='form_id' and opcion = 'categoria:icon:$row[md5_contenido]'") ; $campo_mapa = buscar_campo_tipo($perfil,"14"); $localizacion = remplacetas('form_datos','control',$row['control'],'contenido',"id_campo = '$campo_mapa[0]'") ; $campos = explode(" ",$localizacion[0]); $lon = $campos[0]; $lat = $campos[1]; $zoom = $campos[2]; if($icono[0] =='') { $icon = "$_SESSION[site]milfs/images/iconos/pin.png"; }else{ $icon = $icono[0]; } $icono = "$icon"; $contenido= html_entity_decode($row[contenido]); $resultadox .= " <div class='' style='width:50px; heigth:100px; float:left; vertical-align: top; margin: 5px; text-align:center'> <a href='?id=$perfil&buscar=$categoria_campo:$contenido'> <img style=' height:50px;' class='' src='$icono' style=''> </a> <small>$contenido</small> </div>"; //$resultado .="<li class='list-group-item'><a href='?id=$perfil&buscar=$categoria_campo:$contenido'><img style=' height:50px;' class='' src='$icono' style=''> $contenido</a></li>"; $resultado .="<li class='list-group-item'><a id='$row[control]' href='#' onclick=\"map.flyTo( {lon: $lon, lat: $lat},$zoom); \" > <img style=' height:20px;' class='' src='$icono' style=''> $titulo[0]</a> <a target='compartir' href='?id=$perfil&item=$row[control]'><i class='fa fa-link' aria-hidden='true'></i></a></li>"; } $resultado .= " </ul >"; } else{$resultado = "";} } return $resultado; } function lista_categorias($perfil,$categoria,$tipo) { $link=Conectarse(); $resultado=""; mysqli_set_charset($link, "utf8"); $categoria_campo = remplacetas('form_parametrizacion','campo',$perfil,'descripcion'," tabla='form_id' and opcion = 'categoria:campo'") ; $categoria_campo = $categoria_campo[0]; $campo_nombre = remplacetas('form_campos','id',"$categoria_campo",'campo_nombre',"") ; //$campo_titulo = remplacetas('form_parametrizacion','campo',$perfil,'descripcion'," tabla='form_id' and opcion = 'titulo'") ; //$campo_titulo_nombre = remplacetas('form_campos','id',$campo_titulo[0],'campo_nombre',"") ; if($categoria_campo >0 ) { if(isset($_REQUEST['buscar'])){ $busqueda = explode(':',$_REQUEST['buscar']); $ver_todas= "<li class='list-group-item'><a class='btn btn-default btn-block' href='?id=$perfil'> Mostrar todas</a></li> "; }else{ $ver_todas="";} $consulta = " SELECT md5(binary contenido) as md5_contenido, contenido ,control FROM form_datos WHERE form_id = '$perfil' AND id_campo = '$categoria_campo' GROUP BY contenido ORDER BY contenido asc"; $sql=mysqli_query($link,$consulta); if (mysqli_num_rows($sql)!='0'){ if($tipo=='mapa'){$col=""; $categoria_leyenda ="";}else{ $col="col-md-6"; $categoria_leyenda=" <li class='list-group-item list-group-item-dark'> <strong>Categoría actual: $campo_nombre[0]</strong> </li>";} $resultado = "<ul class='list-group $col'> $categopria_leyenda $ver_todas "; while( $row = mysqli_fetch_array( $sql ) ) { if(isset($_REQUEST['buscar']) AND $row['contenido'] == "$busqueda[1]"){ $lista_items= lista_items($perfil,"$row[contenido]",$tipo) ;}else{ $lista_items= "" ;} //$lista_items= lista_items($perfil,"$row[contenido]",$tipo) ; $icono = remplacetas('form_parametrizacion','campo',$perfil,'descripcion'," tabla='form_id' and opcion = 'categoria:icon:$row[md5_contenido]'") ; if($icono[0] =='') { $icon = "$_SESSION[site]milfs/images/iconos/pin.png"; }else{ $icon = $icono[0]; } $icono = "$icon"; $contenido_limpio= html_entity_decode($row['contenido']); $contenido= urlencode($row['contenido']); $resultadox .= " <div class='' style='width:50px; heigth:100px; float:left; vertical-align: top; margin: 5px; text-align:center'> <a href='?id=$perfil&buscar=$categoria_campo:$contenido'> <img style=' height:30px;' class='' src='$icono' style=''> </a> <small>$contenido</small> </div>"; //$resultado .="<li class='list-group-item'><a href='?id=$perfil&buscar=$categoria_campo:$contenido'><img style=' height:50px;' class='' src='$icono' style=''> $contenido</a></li>"; $resultado .="<li class='list-group-item'> <a href='?id=$perfil&buscar=$categoria_campo:$contenido'><img style=' height:50px;' class='' src='$icono' style=''> $contenido_limpio</a> $lista_items </li>"; } $resultado .= " </ul >"; } else{$resultado = '';} } return $resultado; } function parametrizacion_categoria($perfil,$accion,$div,$form){ $respuesta = new xajaxResponse('utf-8'); $nombre = remplacetas('form_id','id',$perfil,'nombre','') ; $fijar_barra = remplacetas('form_parametrizacion','campo',$perfil,'descripcion'," tabla='form_id' and opcion = 'fijar_barra'") ; $mostrar_items = remplacetas('form_parametrizacion','campo',$perfil,'descripcion'," tabla='form_id' and opcion = 'mostrar_items'") ; $categorias = lista_categorias($perfil,$categoria,$tipo); if($accion =='categorias') { $resultado = " <br> <p>La categorización se usa para filtrar los datos de un formulario en categorias que pueden ser usadas por ejemplo para diferenciar los datos en un mapa. <strong>Es necesario que el formulario que se va a categorizar tenga multiples datos grabados en el campo que se categoriza </strong> </p> <div class='row'> <div class='col-md-6'> <form autocomplete='off' id='form_parametrizacion_categoria' name='form_parametrizacion_categoria' role='form' > <input type='hidden' value='$perfil' id='perfil' name ='perfil'> <input type='hidden' value='categoria' id='tipo' name ='tipo'> <div id='parametrizacion'></div> <label for='icon'>Icono para la categoría</label> <div class='input-group'> <span class='input-group-addon'>URL</span> <input class='form-control' id='icon' name='icon' type='text'> </div> <br> <div id='parametrizacion_validacion' name='parametrizacion_validacion' ></div> <div class='btn btn-success btn-block' onclick=\"xajax_parametrizacion_categoria('$perfil','grabar','$div',xajax.getFormValues('form_parametrizacion_categoria')) \" >Grabar</div> </form> <br> <ul class='list-group''> <li class='list-group-item'> <label class='form-check-label' for='fijar_barra'>Fijar barra de categorías en el mapa </label><div class='hidden' id='div_fijar_barra'>$fijar_barra[0]</div> <div class='input-group'> <span class='input-group-addon'>No</span> <input class='form-control' type='range' min='0' max='1' value='$fijar_barra[0]' onchange=\"xajax_parametrizacion_linea('form_id','$perfil','fijar_barra',(this.value),'div_fijar_barra','',''); \"i d='fijar_barra'> <span class='input-group-addon'>Si</span> </div> </li> <li class='list-group-item'> <label class='form-check-label' for='fijar_barra'>Listar items de cada categoría</label><div class='hidden' id='div_mostrar_items'>$mostrar_items[0]</div> <div class='input-group'> <span class='input-group-addon'>No</span> <input class='form-control' type='range' min='0' max='1' value='$mostrar_items[0]' onchange=\"xajax_parametrizacion_linea('form_id','$perfil','mostrar_items',(this.value),'div_mostrar_items','',''); \" id='mostrar_items'> <span class='input-group-addon'>Si</span> </div> </li> </ul> </div> $categorias </div> "; $respuesta->addAssign($div,"innerHTML",$resultado); $respuesta -> addScript("xajax_formulario_campos_select('$perfil','parametrizacion','filtro')"); return $respuesta; } elseif($accion =='grabar'){ if($form[tipo] =='categoria') { $url_icon = "$form[icon]"; $es_imagen = es_imagen("$url_icon"); $altura = GetImageSize($url_icon); $altura= $altura[1]; if($form[id_campo] =='') { $error = "Seleccione un campo";} elseif($form[campo_filtro] =='') { $error = "Seleccione Filtro";} elseif(!$es_imagen ) { $error = " [ $url_icon ] no es una imagen válida para el ícono";} elseif($altura > 500 ) { $error = " El ícono no debe tener mas de 300 pixeles de alto.";} elseif($form[icon] =='') { $error = "Escriba la dirección del ícono"; } else {$error='';} if( $error !='') { $respuesta -> addAlert("$error $revisar_url "); return $respuesta; }else{ $categoria_icono[tabla] = "form_id"; $categoria_icono[campo] = "$form[perfil]"; $categoria_icono[opcion] = "$form[tipo]:icon:$form[campo_filtro]"; $categoria_icono[descripcion] = "$url_icon"; $categoria_icono[visible] = "1"; $categoria_icono[accion] = "grabar"; $grabar_icono = parametrizacion($categoria_icono); $categoria_campo[tabla] = "form_id"; $categoria_campo[campo] = "$form[perfil]"; $categoria_campo[opcion] = "$form[tipo]:campo"; $categoria_campo[descripcion] = "$form[id_campo]"; $categoria_campo[visible] = "1"; $categoria_campo[accion] = "grabar"; $grabar_campo = parametrizacion($categoria_campo); $categoria_filtro[tabla] = "form_id"; $categoria_filtro[campo] = "$form[perfil]"; $categoria_filtro[opcion] = "$form[tipo]:filtro:$form[id_campo]"; $categoria_filtro[descripcion] = "$form[campo_filtro]"; $categoria_filtro[visible] = "1"; $categoria_filtro[accion] = "grabar"; $grabar_filtro = parametrizacion($categoria_filtro); $resultado =" <img src='$url_icon'> $form[campo_filtro] $form[id_campo] ($altura ) [$grabar_icono]"; $respuesta->addAssign($div,"innerHTML",$resultado); return $respuesta; } }/// fin de parametrizacion categorias } } $xajax->registerFunction("parametrizacion_categoria"); function parametrizacion_plantilla_campos($formulario){ $consulta ="SELECT * FROM form_campos ,form_contenido_campos WHERE form_campos.id = form_contenido_campos.id_campo AND form_contenido_campos.id_form = '$formulario' ORDER BY form_campos.campo_nombre"; $link=Conectarse(); mysqli_set_charset($link, "utf8"); $sql=mysqli_query($link,$consulta); if (mysqli_num_rows($sql)!=0){ $campo_imagen = buscar_campo_tipo($formulario,"15"); $campo_imagen_nombre = $campo_imagen[1]; $campo_imagen = $campo_imagen[0]; $identificador_logo=" <img class=\"img img-responsive img-rounded\" src=\"milfs/images/secure/?file=300/\$proyecto_logo\" />"; while( $row = mysqli_fetch_array( $sql ) ) { if($row[id_campo] == $campo_imagen ) {$imagen ="<i class='glyphicon glyphicon-picture-o'></i>"; $identificador=" <img class=\"img img-responsive img-rounded\" src=\"milfs/images/secure/?file=300/\$campo[$row[id_campo]]\" />";} else {$imagen=''; $identificador =" \$campo_limpio[$row[id_campo]] ";} $listado .= "<li class='list-group-item'><span style='cursor:move;' draggable='true' id='$identificador ' ondragstart=\"evdragstart(event,this)\" title=' $row[id_campo]'> $imagen $row[campo_nombre] [$row[id_campo]]</span></li> "; } /* $campo_400[$row[id_campo]] $campo_80[$row[id_campo]] $campo_55[$row[id_campo]] */ $resultado = " <div style='max-height:400px; overflow:auto;'> <ul class='list-group' id='listado_elementos'> <li class='list-group-item'> </li> $listado <li class='list-group-item'><span style='cursor:move;' draggable='true' id='\$fecha ' ondragstart=\"evdragstart(event,this)\" title=' Fecha'>Fecha</span></li> <li class='list-group-item'><span style='cursor:move;' draggable='true' id='$identificador_logo' ondragstart=\"evdragstart(event,this)\" title=' Logo'>Logo</span></li> <li class='list-group-item'><span style='cursor:move;' draggable='true' id='\$proyecto_nombre' ondragstart=\"evdragstart(event,this)\" title='Nombre'>Proyecto</span></li> <li class='list-group-item'><span style='cursor:move;' draggable='true' id='\$proyecto_slogan' ondragstart=\"evdragstart(event,this)\" title='Slogan'>Slogan</span></li> <li class='list-group-item'><span style='cursor:move;' draggable='true' id='\$proyecto_web' ondragstart=\"evdragstart(event,this)\" title='Web'>Web</span></li> </ul> </div> "; } return $resultado; } function parametrizacion_plantilla_campos_inteligentes($formulario){ $consulta ="SELECT distinct(`id_campo`) , campo_nombre FROM `form_datos`, form_campos WHERE form_datos.id_campo = form_campos.id AND `form_id` ='$formulario' ORDER BY campo_nombre "; $link=Conectarse(); mysqli_set_charset($link, "utf8"); $sql=mysqli_query($link,$consulta); if (mysqli_num_rows($sql)!=0){ $campo_imagen = buscar_campo_tipo($formulario,"15"); $campo_imagen_nombre = $campo_imagen[1]; $campo_imagen = $campo_imagen[0]; while( $row = mysqli_fetch_array( $sql ) ) { if($row[id_campo] == $campo_imagen ) {$imagen ="<i class='glyphicon glyphicon-picture-o'></i>"; $identificador=" <img class=\"img img-responsive img-rounded\" src=\"milfs/images/secure/?file=300/\$campo[$row[id_campo]]\" />";} else {$imagen=''; $identificador =" \$campo_limpio[$row[id_campo]] ";} $listado .= "<li class='list-group-item'><span style='cursor:move;' draggable='true' id='$identificador ' ondragstart=\"evdragstart(event,this)\" title=' $row[id_campo]'> $imagen $row[campo_nombre] [$row[id_campo]]</span></li>"; } /* $campo_400[$row[id_campo]] $campo_80[$row[id_campo]] $campo_55[$row[id_campo]] */ $identificador_logo=" <img class=\"img img-responsive img-rounded\" src=\"milfs/images/secure/?file=300/\$proyecto_logo\" />"; $resultado = " <div style='max-height:400px; overflow:auto;'> <ul class='list-group' id='listado_elementos'> <li class='list-group-item'> </li> $listado <li class='list-group-item'><span style='cursor:move;' draggable='true' id='\$fecha ' ondragstart=\"evdragstart(event,this)\" title=' Fecha'>Fecha</span></li> <li class='list-group-item'><span style='cursor:move;' draggable='true' id='$identificador_logo' ondragstart=\"evdragstart(event,this)\" title=' Logo'>Logo</span></li> </ul> </div> "; } $respuesta = new xajaxResponse('utf-8'); $respuesta->addAssign("div_campos","innerHTML","$resultado"); return $respuesta; } $xajax->registerFunction("parametrizacion_plantilla_campos_inteligentes"); function parametrizacion_plantilla($formulario,$div,$valores) { $respuesta = new xajaxResponse('utf-8'); $campo_titulo = remplacetas('form_parametrizacion','campo',$formulario,'descripcion'," tabla='form_id' and opcion = 'titulo'") ; $campo_titulo_nombre = remplacetas('form_campos','id',$campo_titulo[0],'campo_nombre',"") ; $link=Conectarse(); $ultimo = formulario_uso("$formulario",'','ultimo') ; mysqli_set_charset($link, "utf8"); if($formulario =='eliminar'){ $limpiar ="DELETE FROM `form_parametrizacion` WHERE id = '$valores' AND id_empresa = '$_SESSION[id_empresa]' LIMIT 1 "; $sql=mysqli_query($link,$limpiar); $respuesta->addAssign("$div","innerHTML",""); return $respuesta; } if($valores =="boton") { $consulta ="SELECT * FROM form_parametrizacion WHERE campo = '$formulario' AND `opcion` REGEXP '^plantilla:' AND id_empresa = '$_SESSION[id_empresa]' ORDER BY opcion"; $sql=mysqli_query($link,$consulta); if (mysqli_num_rows($sql)!=0){ while( $row = mysqli_fetch_array( $sql ) ) { $campos_opcion = explode(":",$row[opcion]); $plantilla_nombre = $campos_opcion[1]; if(is_null($row[id_empresa])){ $class="danger";}else{$class='success';} $listado .= "<option value='$row[id]'>$row[opcion]</option>"; $li .= "<tr class='$class' id='linea_$row[id]'> <td>$plantilla_nombre</td> <td><a href='#' onclick=\"xajax_parametrizacion_plantilla('$formulario','$div','$row[id]');\" ><i class='glyphicon glyphicon-pencil-square-o'></i> Editar</a></td> <td><a href='#' onclick=\"xajax_mostrar_modal('$formulario','$ultimo[1]','$plantilla_nombre');\" ><i class='glyphicon glyphicon-eye-open'></i></a> Ver</td> <td><a href='#' onclick=\"xajax_parametrizacion_plantilla('eliminar','linea_$row[id]','$row[id]');\" ><i class='glyphicon glyphicon-trash'></i></a> Eliminar</td> </tr> "; //mostrar_modal($form,$control,$plantilla) } $resultado = " <div class='input-group'> <span class='input-group-addon'>Seleccione una plantilla</span> <select class='form-control' onchange=\"xajax_parametrizacion_plantilla('$formulario','$div',(this.value));\"> <option value=''></option> $listado </select> <span class='input-group-btn'> <div onclick=\"xajax_parametrizacion_plantilla('$formulario','$div','formulario') ;\" class=' btn btn-success'><i class='glyphicon glyphicon-plus-sign'></i> Nueva plantilla</div> </div> </div> "; $lista =" <br> <p>Las plantillas se usan para dar formato a los datos en el momento de presentarlos, se puede usar etiquetas <b>HTML5</b>, <b>CSS3</b> y clases de <b>Bootstrap</b> </p> <table class='table table-striped'> <tr> <th>Nombre</th> <th>Editar</th> <th>Ver</th> <th>Eliminar</th> </tr> $li </table> <div onclick=\"xajax_parametrizacion_plantilla('$formulario','$div','formulario') ;\" class='btn btn-default btn-block'>Nueva plantilla <i class='glyphicon glyphicon-magic'></i> </div> "; $respuesta->addAssign("$div","innerHTML","$lista"); return $respuesta; } else { $resultado =" <br> <div class='alert alert-warning'> <h1>Aún no se han definido plantillas para este formulario <div onclick=\"xajax_parametrizacion_plantilla('$formulario','$div','formulario') ;\" class='btn btn-success'><i class='glyphicon glyphicon-plus-sign'></i> Crear una plantilla</div> </h1> </div> "; $respuesta->addAssign("$div","innerHTML","$resultado"); return $respuesta; } } elseif($valores =="formulario" OR is_numeric($valores)) { $campos = parametrizacion_plantilla_campos("$formulario"); $descripcion = remplacetas('form_parametrizacion','id',$valores,'descripcion',"") ; $opcion = remplacetas('form_parametrizacion','id',$valores,'opcion',"") ; $campos_opcion = explode(":",$opcion[0]); $plantilla_nombre = $campos_opcion[1]; include("includes/bootsrap_class_list.php"); $resultado =" <br> <form autocomplete='off' id='form_plantilla' name='form_plantilla'> <div class='row'> <div class='col-xs-2'> </div> <div class='col-xs-10'> <input style=' padding:0px; border-radius:2px; height:25px;' type='color' name='favcolor' value='#2ec243' onchange=\" (document.getElementById('colores').innerHTML=('<div class=\' btn text-center\' ondragstart=\'evdragstart(event,this)\' draggable=\'true\' id= \'background-color:'+(this.value)+'; \' style=\'cursor:move; background-color:'+this.value+'\'> A </div> <div class=\'btn \' ondragstart=\'evdragstart(event,this)\' draggable=\'true\' id= \'color:'+(this.value)+'; \' style=\'border: solid 1px; cursor:move; color:'+this.value+'\' > <strong>A</strong> </div>')); \"> <div style='display:inline;' id='colores'> <div class='btn btn-default' style='cursor:move; background-color:#46a254; ' draggable='true' id= 'background-color:#46a254; ' ondragstart=\"evdragstart(event,this)\" > A </div> <div class='btn btn-default' style='cursor:move; color:#46a254; ' draggable='true' id= 'color:#46a254; ' ondragstart=\"evdragstart(event,this)\" > A </div> <div class='btn btn-default' style='cursor:move;' draggable='true' id=' <div class=\" \"> </div> ' ondragstart=\"evdragstart(event,this)\" title=' $row[id_campo]'> div</div> <div class='btn btn-default' style='cursor:move;' draggable='true' id=' <h1 > </h1> ' ondragstart=\"evdragstart(event,this)\" > H1 </div> <div class='btn btn-default' style='cursor:move;' draggable='true' id=' <h2 > </h2> ' ondragstart=\"evdragstart(event,this)\" > H2 </div> <div class='btn btn-default' style='cursor:move;' draggable='true' id=' <h3 > </h3> ' ondragstart=\"evdragstart(event,this)\" > H3 </div> <div class='btn btn-default' style='cursor:move;' draggable='true' id=' <ul >\n<li > </li>\n<li > </li>\n</ul>' ondragstart=\"evdragstart(event,this)\" > <i class='glyphicon glyphicon-list-ul'></i></div> <div class='btn btn-default' style='cursor:move;' draggable='true' id=' <li > </li> ' ondragstart=\"evdragstart(event,this)\" > <li></div> <div class='btn btn-default' style='cursor:move;' draggable='true' id=' <img src =\" \" alt=\" \" title=\" \" class=\"img img-responsive img-rounded\"> ' ondragstart=\"evdragstart(event,this)\" title=' $row[id_campo]'><i class='glyphicon glyphicon-picture-o'></i></div> <div class='btn btn-default' style='cursor:move;' draggable='true' id=' class=\"fancy\" ' ondragstart=\"evdragstart(event,this)\" title=' $row[id_campo]'>MB</div> </div> </div> <div class='row'> <div class='col-xs-2'> <div style='max-height:400px; overflow:auto;'> $listado_clases </div> </div> <div class='col-xs-8'> <div href='#' id='edit' class='btn btn-default btn-xs' onclick=\"edit()\">Editor HTML</div> <textarea style= 'height:390px; ' id='text_contenedor' name ='text_contenedor' class='wysiwyg form-control' placeholder='Puede arrastrar los valores aqui o escribir código HTML o CSS '>$descripcion[0]</textarea> </div> <div class='col-xs-2'> <div id='div_campos'> <div class='btn btn-default btn-xs' onclick=\"xajax_parametrizacion_plantilla_campos_inteligentes('$formulario'); \" >Campos inteligentes</div> $campos </div> </div> </div> <div class='row'> <div class='col-xs-2'> </div> <div class='col-xs-5'> <div class='input-group' id='input_nombre_plantilla'> <span class='input-group-addon'>Nombre:</span> <input class='form-control' id='nombre_plantilla' name='nombre_plantilla' value='$plantilla_nombre'> </div> </div> <div class='col-xs-3'> <div class='btn btn-success' onclick=\"xajax_parametrizacion_plantilla('$formulario','$div',xajax.getFormValues(form_plantilla)) ;\" TITLE='GRABAR'><i class='glyphicon glyphicon-floppy-disk'></i></div> <div class='btn btn-warning' onclick=\"xajax_parametrizacion_plantilla('$formulario','$div','formulario') ;\" title='NUEVA' ><i class='glyphicon glyphicon-magic'></i></div> <div class='btn btn-danger' onclick=\"xajax_limpia_div('$div') ;\" TITLE='CANCELAR' ><i class='glyphicon glyphicon-remove-sign'></i></div> </div> </div> </form> "; } elseif(is_array($valores)) { $texto=str_replace('"',"'",$valores[text_contenedor]); $plantilla = htmlentities($texto); if($valores[nombre_plantilla] == "") { $respuesta->addAlert("No ha especificado un nombre para la plantilla"); $respuesta->addAssign("input_nombre_plantilla","className","input-group has-error"); return $respuesta; } $limpiar ="DELETE FROM `form_parametrizacion` WHERE tabla = 'form_id' AND campo ='$formulario' AND opcion ='plantilla:$valores[nombre_plantilla]' LIMIT 1 "; $sql=mysqli_query($link,$limpiar); $consulta="INSERT INTO form_parametrizacion set tabla = 'form_id' , campo ='$formulario', opcion ='plantilla:$valores[nombre_plantilla]', descripcion =\"$plantilla\", visible='1', id_empresa= '$_SESSION[id_empresa]' "; $sql=mysqli_query($link,$consulta); $ultimo = formulario_uso("$formulario",'','ultimo') ; $datos = contenido_mostrar("$formulario","$ultimo[1]",'',"$valores[nombre_plantilla]"); $preview = " <legend>$valores[nombre_plantilla]</legend> $datos "; $div_contenido = "<div id='modal_$div'>$preview</div>"; $respuesta->addAssign("muestra_form","innerHTML","$div_contenido"); $respuesta->addAssign("titulo_modal","innerHTML","$resultado"); $respuesta->addAssign("pie_modal","innerHTML","$pie"); //$respuesta->addAssign("$div","innerHTML","$resultado"); $respuesta->addscript("$('#muestraInfo').modal('toggle')"); return $respuesta; } else{ $resultado =""; } $resultado .= ""; $respuesta->addAssign("$div","innerHTML","$resultado"); return $respuesta; } $xajax->registerFunction("parametrizacion_plantilla"); function parametrizacion_mapa($formulario,$div,$valores) { $otro_json = remplacetas('form_parametrizacion','campo',$formulario,'descripcion'," tabla='form_id' and opcion = 'json'") ;; $respuesta = new xajaxResponse('utf-8'); if($valores =="") { $cadena= array(); $ids = json_decode($otro_json[0]); foreach ($ids as $clave => $valor) { if($valor !=""){ $li .="$valor[0] $valor[1]\n"; } } $resultado =" <br><labeL for='json_extra'>Defina en cada linea un geojson adicional que se mostrará en el mapa $formulario </label> <br>Ejemplo: [Nombre de la capa] url.geojson <textarea class='form-control' rows=10 placeholder='[Nombre de la capa] url.geojson' id='json_extra' name ='json_extra'>$li</textarea> <div class='btn btn-success center-block' onclick=\"xajax_parametrizacion_mapa('$formulario','resultado_json',document.getElementById('json_extra').value) \">Grabar</div> <br><div id='resultado_json'></div>"; $respuesta->addAssign("$div","innerHTML","$resultado"); return $respuesta; }else{ //$ids=array(); $cadena= array(); $ids = explode(PHP_EOL, $valores); foreach ($ids as $clave => $valor) { if($valor !=""){ $li=""; $cadena[] = explode(" ", $valor,2); foreach ($cadena as $c => $v){ $li .="<li class='list-group-item'><strong>$v[1]:</strong> $v[0] </li>"; } } } $resultado_visible="<ul class='list-group'>$li</ul>"; // $ids['formulario']="$formulario"; $resultado =json_encode($cadena); //parametrizacion_linea($tabla,$campo,$opcion,$descripcion,$div,$script,$item) $insertar = parametrizacion_linea('form_id',"$formulario","json","$resultado",'','',''); $respuesta->addAssign("$div","innerHTML","$resultado_visible"); return $respuesta; } } $xajax->registerFunction("parametrizacion_mapa"); function parametrizacion_titulo($formulario,$div,$valores) { $campo_titulo = remplacetas('form_parametrizacion','campo',$formulario,'descripcion'," tabla='form_id' and opcion = 'titulo'") ; $campo_descripcion = remplacetas('form_parametrizacion','campo',$formulario,'descripcion'," tabla='form_id' and opcion = 'descripcion'") ; $campo_orden = remplacetas('form_parametrizacion','campo',$formulario,'descripcion'," tabla='form_id' and opcion = 'orden'") ; $campo_titulo_nombre = remplacetas('form_campos','id',$campo_titulo[0],'campo_nombre',"") ; $campo_orden_nombre = remplacetas('form_campos','id',$campo_orden[0],'campo_nombre',"") ; $campo_descripcion_nombre = remplacetas('form_campos','id',$campo_descripcion[0],'campo_nombre',"") ; $respuesta = new xajaxResponse('utf-8'); $link=Conectarse(); mysqli_set_charset($link, "utf8"); if($valores =="") { $consulta ="SELECT * FROM form_campos ,form_contenido_campos WHERE form_campos.id = form_contenido_campos.id_campo AND form_contenido_campos.id_form = '$formulario' ORDER BY form_campos.campo_nombre"; $sql=mysqli_query($link,$consulta); if (mysqli_num_rows($sql)!=0){ while( $row = mysqli_fetch_array( $sql ) ) { $listado .= "<option value='$row[id_campo]'>$row[campo_nombre] [$row[id_campo]]</option>"; } //($tabla,$campo,$opcion,$descripcion,$div) $resultado = " <legend>Campos especiales</legend> <ul> <li>Campo de <b>Título</b> actual<strong> $campo_titulo_nombre[0] [$campo_titulo[0]]</strong></li> <li>Campo de <b>Descripción</b> actual<strong> $campo_descripcion_nombre[0] [$campo_descripcion[0]]</strong> <small> (Este campo debe ser del tipo nota)</small></li> <li>Campo de <b>Orden</b> actual<strong> $campo_orden_nombre[0] [$campo_orden[0]]</strong> <small> (Este campo debe ser del tipo numérico)</small></li> </ul> <div class='input-group'> <span class='input-group-addon'>Campo</span> <select class='form-control' id='seleccion_campo' name='seleccion_campo' onchange=\"\"> <option value=''>Borrar el valor actual</option> $listado </select> <div class='input-group-btn'> <button type='button' class='btn btn-default dropdown-toggle' data-toggle='dropdown' aria-haspopup='true' aria-expanded='false'><span class='caret'></span> Seleccionar</button> <ul class='dropdown-menu dropdown-menu-right'> <li><a href='#' onclick=\"xajax_parametrizacion_linea('form_id','$formulario','titulo',document.getElementById('seleccion_campo').value,'div_seleccion_titulo','xajax_parametrizacion_titulo(\'$formulario\',\'div_parametrizacion\',\'\') ',''); \">Título</a></li> <li><a href='#' onclick=\"xajax_parametrizacion_linea('form_id','$formulario','orden',document.getElementById('seleccion_campo').value,'div_seleccion_titulo','xajax_parametrizacion_titulo(\'$formulario\',\'div_parametrizacion\',\'\') ',''); \">Orden</a></li> <li><a href='#'onclick=\"xajax_parametrizacion_linea('form_id','$formulario','descripcion',document.getElementById('seleccion_campo').value,'div_seleccion_titulo','xajax_parametrizacion_titulo(\'$formulario\',\'div_parametrizacion\',\'\') ',''); \">Descripción</a></li> </ul> </div> </div> <div id='div_seleccion_titulo'></div> "; } }else { $limpiar ="DELETE FROM `form_parametrizacion` WHERE tabla = 'form_id' AND campo ='$formulario' AND opcion ='titulo' LIMIT 1 "; $sql=mysqli_query($link,$limpiar); $consulta="INSERT INTO form_parametrizacion set tabla = 'form_id' , campo ='$formulario', opcion ='titulo', descripcion ='$valores', visible='1' "; $sql=mysqli_query($link,$consulta); if($sql){ $campo_titulo = remplacetas('form_parametrizacion','campo',$formulario,'descripcion'," tabla='form_id' and opcion = 'titulo'") ; $campo_titulo_nombre = remplacetas('form_campos','id',$campo_titulo[0],'campo_nombre',"") ; $campo_descripcion_nombre = remplacetas('form_campos','id',$campo_descripcion[0],'campo_nombre',"") ; $resultado ="<div class='alert alert-success<h2><small> <br>Campo de Título actual</small>$campo_titulo_nombre[0] [$campo_titulo[0]]</h2></div>"; } $respuesta->addScript("xajax_parametrizacion_titulo('$formulario','$div','')"); return $respuesta; } if($div !="") { $respuesta->addAssign("$div","innerHTML","$resultado"); }else { return $resultado;} return $respuesta; } $xajax->registerFunction("parametrizacion_titulo"); function mostrar_modal($form,$control,$plantilla){ $respuesta = new xajaxResponse('utf-8'); if( $control == "") { $datos = formulario_areas('',$form,"",'','','',''); }else { $datos = contenido_mostrar("$form","$control",'',"$plantilla"); } $div ="contenido_de_modal"; $resultado = " <div class='container-fluid' style='padding:5px; border-radius:3px; background-color:white; max-width:600px; box-shadow: 2px 2px 5px #999; overflow:no;' id='contenedor_datos' > $datos <br> </div>"; $div_contenido = "<div id='$div'>$div</div>"; $respuesta->addAssign("muestra_form","innerHTML","$div_contenido"); //$respuesta->addAssign("titulo_modal","innerHTML","Hola mundo"); //$respuesta->addAssign("pie_modal","innerHTML","$pie"); $respuesta->addAssign("$div","innerHTML","$resultado"); $respuesta->addscript("$('#muestraInfo').modal('toggle')"); return $respuesta; } $xajax->registerFunction("mostrar_modal"); function portal_filtro_cadena($formulario,$id_campo,$control,$div,$plantilla){ $cadena = remplacetas('form_datos','control',"$control",'contenido',"form_id = '$formulario' AND id_campo ='$id_campo' ") ; $consulta ="SELECT * FROM form_campos ,form_datos WHERE form_datos.form_id = '$formulario' AND form_campos.id = form_datos.id_campo AND form_datos.id_campo = '$id_campo' AND contenido = '$cadena[0]' GROUP BY control ORDER BY contenido"; $link=Conectarse(); mysqli_set_charset($link, "utf8"); $sql=mysqli_query($link,$consulta); if (mysqli_num_rows($sql)!=0){ while( $row = mysqli_fetch_array( $sql ) ) { $datos = contenido_mostrar("$formulario","$row[control]",'',"$plantilla"); if($plantilla == "") { $listado .= "<div class='panel panel-default'> <div class='panel-heading'><h3>$cadena[0]<a class='btn btn-info pull-right' target='api' href='$_SESSION[site]/milfs/api.php?identificador=$row[control]' >{json}</a></h3> </div> <div class='panel-body'> $datos </div> </div> "; }else{$listado .= $datos; } } $resultado = " <br> $listado "; }else{ $resultado =""; } if ($div ==""){$div="mostrar_contenido";} else {$div = "$div";} $respuesta = new xajaxResponse('utf-8'); $respuesta->addAssign("$div","innerHTML","$resultado "); return $respuesta; } $xajax->registerFunction("portal_filtro_cadena"); function portal_filtro_campos($formulario,$id_campo,$div,$plantilla){ $formulario_descripcion = remplacetas('form_id','id',"$formulario",'descripcion',"") ; $formulario_nombre = remplacetas('form_id','id',"$formulario",'nombre',"") ; $campo_nombre = remplacetas('form_campos','id',"$id_campo",'campo_nombre',"") ; $campo_descripcion = remplacetas('form_campos','id',"$id_campo",'campo_descripcion',"") ; $consulta ="SELECT * FROM form_campos ,form_datos WHERE form_datos.form_id = '$formulario' AND form_campos.id = form_datos.id_campo AND form_datos.id_campo = '$id_campo' GROUP BY contenido ORDER BY contenido"; $link=Conectarse(); mysqli_set_charset($link, "utf8"); $sql=mysqli_query($link,$consulta); if (mysqli_num_rows($sql)!=0){ while( $row = mysqli_fetch_array( $sql ) ) { $listado .= "<li class='list-group-item'><a href='#' onclick=\"xajax_portal_filtro_cadena('$formulario','$id_campo','$row[control]','$div','$plantilla') \" title='$row[control]'>$row[contenido]</a></li>"; } $resultado = " <ul class='list-group'> <h4 ><span title='$formulario_descripcion[0]'>$formulario_nombre[0]</span> / <span title='$campo_descripcion[0]'>$campo_nombre[0]</span></h4> <li class='list-group-item'><a class='btn btn-block btn-info' target='api' href='$_SESSION[url]api.php?id=$formulario&tipo=simple' >{json}</a></li> $listado </ul> "; } return $resultado; } function portal_filtro_campos_select($formulario,$id_campo,$div,$plantilla){ $listado=""; if($id_campo =="") { $campo_titulo = remplacetas('form_parametrizacion','campo',$formulario,'descripcion'," tabla='form_id' and opcion = 'titulo'") ; $id_campo = $campo_titulo[0]; if($id_campo =="") { $resultado = ""; return $resultado;} } $formulario_descripcion = remplacetas('form_id','id',"$formulario",'descripcion',"") ; $formulario_nombre = remplacetas('form_id','id',"$formulario",'nombre',"") ; $campo_nombre = remplacetas('form_campos','id',"$id_campo",'campo_nombre',"") ; $campo_descripcion = remplacetas('form_campos','id',"$id_campo",'campo_descripcion',"") ; $consulta ="SELECT * FROM form_campos ,form_datos WHERE form_datos.form_id = '$formulario' AND form_campos.id = form_datos.id_campo AND form_datos.id_campo = '$id_campo' GROUP BY contenido ORDER BY contenido"; $link=Conectarse(); mysqli_set_charset($link, "utf8"); $sql=mysqli_query($link,$consulta); if (mysqli_num_rows($sql)!=0){ while( $row = mysqli_fetch_array( $sql ) ) { $listado .= "<option value = '$row[control]'>$row[contenido]</option>"; } $resultado = " <select class='form-control' onchange=\"xajax_portal_filtro_cadena('$formulario','$id_campo',(this.value),'$div','$plantilla') \" > <option =''>$campo_nombre[0]</option> $listado </select> "; } $resultado =" <div class='input-group'> <span class='input-group-addon'>Filtro <i class='glyphicon glyphicon-filter'></i> </span> $resultado </div>"; return $resultado; } function portal_listado_campos($formulario){ $formulario_descripcion = remplacetas('form_id','id',"$formulario",'descripcion',"") ; $formulario_publico = remplacetas('form_id','id',"$formulario",'publico',"") ; $empresa = remplacetas('form_id','id',"$formulario",'id_empresa',"") ; if($formulario_publico[0] !="1" AND ($id_empresa[0] == $_SESSION['id_empresa']) ) { $resultado ="<div class='alert alert-danger'><h1>Acceso restringido<small>Esta aplicación contiene datos privados </small> <i class='glyphicon glyphicon-lock'></i></h1></div>"; return $resultado;} $formulario_nombre = remplacetas('form_id','id',"$formulario",'nombre',"") ; $consulta ="SELECT * FROM form_campos ,form_contenido_campos WHERE form_campos.id = form_contenido_campos.id_campo AND form_contenido_campos.id_form = '$formulario' ORDER BY form_contenido_campos.orden"; $link=Conectarse(); mysqli_set_charset($link, "utf8"); $sql=mysqli_query($link,$consulta); if (mysqli_num_rows($sql)!=0){ while( $row = mysqli_fetch_array( $sql ) ) { $tipo_campo = remplacetas_noid('form_tipo_campo','id_tipo_campo',"$row[campo_tipo]",'tipo_campo_nombre','',''); //href='?formulario=$formulario&campo=$row[id_campo]' //<li class='list-group-item'><a class='btn btn-block btn-info' target='api' href='$_SESSION[URL]/api.php?id=$formulario&tipo=simple' >{json}</a></li> //// PRIVACIDAD $privado = remplacetas('form_parametrizacion','campo',"$formulario",'opcion'," tabla='form_id' AND descripcion ='$row[id_campo]' AND opcion REGEXP '^privacidad:' ") ; $privado = explode(":",$privado[0]); $privado = @$privado[1]; /// PRIVACIDAD if($privado !='1') { //<tr> <td class='col-xs-1'>$row[id_campo] x</td><td class='col-xs-2'>$row[campo_nombre] x</td><td class='col-xs-4'>$row[campo_descripcion] x</td><td class='col-xs-5'>$estadisticasx x</td></tr> $estadisticas = formulario_estadistica("$formulario","$row[id_campo]","contenido","barras"); $listado .= " <tr> <td class='col-xs-12'> <div class='well'> <p> Id: $row[id_campo] </p> Nombre: $row[campo_nombre] <p> Descripción: $row[campo_descripcion] </p> </div> </td> <td class='col-xs-12'><strong> </strong>$estadisticas</td> </tr> "; }else {$listado.="";} } $resultado = " <table class='table table-bordered'> <tbody> $listado </tbody> </table> "; } $resultado ="$resultado"; return $resultado; } function portal_listado_formularios($id_proyecto){ if($id_proyecto=="") { return; } $listado=""; $consulta ="SELECT * FROM form_id WHERE publico = '1' AND id_empresa='$id_proyecto'"; $link=Conectarse(); mysqli_set_charset($link, "utf8"); $sql=mysqli_query($link,$consulta); if (mysqli_num_rows($sql)!=0){ while( $row = mysqli_fetch_array( $sql ) ) { $nombre= strip_tags($row['nombre']); $descripcion= strip_tags($row['descripcion']); $listado .= "<li class='list-group-item'><a href='?id=$row[id]' title=''>$nombre</a></li>"; } $resultado = " <ul class='list-group'> $listado </ul> "; } return $resultado; } function insertar_linea($tabla,$key,$campo,$valor,$control,$orden,$div,$proceso){ $respuesta = new xajaxResponse('utf-8'); //$key = limpiar_caracteres($key); //$valor = limpiar_caracteres($valor); if($_SESSION['id_empresa'] =="") { $empresa = remplacetas('form_id','id',"$key",'id_empresa','') ; $empresa = $empresa[0]; }else {$empresa=$_SESSION['id_empresa'];} $ip = obtener_ip(); $ip = " INET_ATON('".$ip."') "; if($tabla =="form_datos") { $consulta = "INSERT INTO form_datos ( proceso,orden, timestamp,id_usuario,id_empresa,form_id,ip,control,id_campo,contenido) VALUES ( '$proceso','$orden',UNIX_TIMESTAMP(),'$_SESSION[id]','$empresa','$key',$ip ,'$control', '$campo' , '$valor') "; } $link=Conectarse(); mysqli_real_escape_string($link,$consulta); mysqli_set_charset($link, "utf8"); if($valor !="") { $sql=mysqli_query($link,$consulta); } if($sql) { if($div !='') { //$respuesta->addAssign($div,"innerHTML",""); $respuesta->addAssign("$div","innerHTML","<div class='alert alert-success'>El registro se insertó con éxito</div>"); return $respuesta; } else { return " "; } }else { return "No se inserto ";; } } $xajax->registerFunction("insertar_linea"); function select_combo($id,$tabla,$campo_valor,$campo_descripcion,$tipo){ if(isset($_SESSION['id_empresa'])) {$id_empresa= $_SESSION['id_empresa'];}$link=Conectarse(); mysqli_set_charset($link, "utf8"); $Campo_descripcion = ucwords($campo_descripcion); $Campo_valor = ucwords($campo_valor); $nombre=$tabla."_".$campo_valor; $div=$nombre."_hijo"; $combo = $id."_".$tabla; if($tipo!=''){ $respuesta = new xajaxResponse('utf-8'); $consulta ="SELECT $id , $campo_valor , $campo_descripcion FROM $tabla WHERE $campo_valor = '$tipo' AND id_empresa = '$id_empresa'"; $sql=mysqli_query($link,$consulta); if (mysqli_num_rows($sql)!='0'){ $resultado .= "<Label for ='$combo'>$Campo_descripcion</label> <select class='form-control' id='$combo' name='$combo'>"; $resultado .= "<option value=''> Seleccione $Campo_descripcion</option>"; while( $row = mysqli_fetch_array( $sql ) ) { $resultado .= "<option value='$row[$id]'> $row[$campo_valor] $row[$campo_descripcion]</option>"; } $resultado .= "</select> "; } $respuesta->addAssign($div,"innerHTML",$resultado); return $respuesta;} ELSE{ /// si no especifica $tipo $consulta ="SELECT $id , $campo_valor , $campo_descripcion FROM $tabla WHERE id_empresa = '$id_empresa' GROUP BY $campo_valor "; $sql=mysqli_query($link,$consulta); ///$Documento=mysqli_result($grupo,0,"documento_numero"); $resultado = "<label for='$nombre' > $Campo_valor </label> <select class='form-control' name='$nombre' id='$nombre' onchange=\"xajax_select_combo('$id','$tabla','$campo_valor','$campo_descripcion',(this.value)) \";>"; $resultado .= "<option value=''> Seleccione $Campo_valor </option>"; if (mysqli_num_rows($sql)!='0'){ while( $row = mysqli_fetch_array( $sql ) ) { $explicacion= remplacetas('eapb','codigo',"$row[$campo_valor]",'nombre',"") ; $explicacion = $explicacion[0]; $resultado .= "<option value='$row[$campo_valor]' >$row[$campo_valor] </option>"; } } $resultado .= "</select><div name='$div' id='$div'><!-- <input type='text' id='$combo' name='$combo'> --></div>"; }/// FIN de $tipo no especifico return $resultado; } $xajax->registerFunction("select_combo"); function crear_session ($form,$control) { $consulta = " SELECT distinct(id_campo),contenido FROM form_datos WHERE control = '$control' AND form_id = '$form' order by timestamp DESC "; $link=Conectarse(); mysqli_set_charset($link, "utf8"); $sql = mysqli_query($link,$consulta); if (mysqli_num_rows($sql)!=0){ $resultado ="<ol>"; mysqli_data_seek($sql, 0); while( $row = mysqli_fetch_array( $sql ) ) { $id_form = $row[form_id]; $campo_nombre = remplacetas('form_campos','id',$row[id_campo],'campo_nombre'); $nombre = strtolower( str_replace(' ','_',$campo_nombre[0])); $_SESSION[$nombre] = $row[contenido]; $resultado .= "<li>$_SESSION[$nombre]</li>"; } $resultado .= "</ol>"; } return $resultado ; } function mostrar_identificador($control,$form,$plantilla,$tipo,$timestamp){ //$respuesta = mostrar_identificador("$identificador","$row[form_id]","respuesta","$plantilla","$row[timestamp]"); $datos_form=""; $edicion=""; $resultado=""; $tipo="$tipo"; $visitas=""; $usuarios=""; if($form != "") {$id_form = "$form"; // $descripcion = remplacetas('form_id','id',$form,'descripcion',"") ; // $nombre = remplacetas('form_id','id',$form,'nombre',"") ; $datos_form =" "; }else {$id_form ="";} @$impresion = formulario_imprimir("$id_form","$control","$plantilla",$timestamp).""; if($impresion !="") { //$visitas= contar_visitas($control,'identificador') ; //$visitas= "<small><i class='glyphicon glyphicon-eye-open'></i> $visitas</small>"; //$descripcion = remplacetas('form_id','id',$id_form,'descripcion',"") ; //$nombre = remplacetas('form_id','id',$id_form,'nombre',"") ; $interaccion = interaccion_identificador("$control",'','simple','',''); if($plantilla == "svg") { return $impresion;} if($tipo=="") { $resultado = " <div id ='mostrar_identificador_$control' class='mostrar_identificador '> $visitas $datos_form <!-- formulario_imprimir() plantilla $plantilla --> $impresion <!-- formulario_imprimir() --> $interaccion $edicion </div> "; }else { $resultado = $impresion; } }else{ $resultado ="<div class='container alert alert-warning alert_sin_resultados'><h1>No hay resultados 0002</h1></div>"; } return $resultado ; } function buscar_campo_nombre($form_id,$nombre) { $consulta ="SELECT form_campos.id FROM `form_campos` , form_contenido_campos WHERE `campo_nombre` = '$nombre' AND form_campos.id = form_contenido_campos.id_campo AND form_contenido_campos.id_form ='$form_id' LIMIT 1"; $link=Conectarse(); mysqli_set_charset($link, "utf8"); $sql = mysqli_query($link,$consulta); $id_campo=mysqli_result($sql,0,"id"); return $id_campo; } function conversorSegundosHoras($tiempo_en_segundos) { $horas = floor($tiempo_en_segundos / 3600); $minutos = floor(($tiempo_en_segundos - ($horas * 3600)) / 60); $segundos = $tiempo_en_segundos - ($horas * 3600) - ($minutos * 60); return $horas . ':' . $minutos . ":" . $segundos; } function mensajes($tipo,$campos_form,$datos,$control) { $campo_remitente = $campos_form['remitente']; $campo_destinatario = $campos_form['destinatario']; $campo_asunto = $campos_form['asunto']; $campo_mensaje = $campos_form['mensaje']; $form_id = $campos_form['formulario_id']; $form_usuarios = $campos_form['formulario_usuarios']; $campo_usuarios = $campos_form['campo_usuario']; $respuesta = new xajaxResponse('utf-8'); if($tipo =='formulario') { if($form_id =='' AND $control !='') { $form_id = remplacetas('form_datos','control',"$control",'form_id',"") ; $form_id = $form_id[0]; } //$campos = formulario_areas('',$form_id,'campos'); $control_original = $control; if($control =="") { $control = md5(rand(1,99999999).microtime()); } $campos = formulario_areas('',$form_id,'campos','','','',''); $formulario =" <input type='hidden' id='$campo_remitente"."[0]' name='$campo_remitente"."[0]' value='$_SESSION[usuario_milfs]'> <input type='hidden' id='tipo' name='tipo' value='solocampos'> <input type='hidden' id='form_id' name='form_id' value='$form_id'> <input type='hidden' id='mensaje' name='mensaje' value='El mensaje fue enviado :-) '> <input type='hidden' id='control' name='control' value='$control'> $campos"; $formulario =" <div class=' ' id='div_$control'> <div id ='div_mensaje' class='alert alert-success '> <form autocomplete='off' role='form' class='' id='form_mensajes' name='form_mensajes'> $formulario <div class='form-group '> <div class='btn btn-success btn-block' onclick=\"xajax_formulario_grabar(xajax.getFormValues('form_mensajes'),'');\" >ENVIAR MENSAJE</div> </div> </form> </div> </div>"; $respuesta->addAssign("div_mensaje_$control_original","innerHTML",$formulario); //$respuesta->addAlert("div_mensaje_$control_original","innerHTML",$formulario); return $respuesta; } elseif($tipo =='responder') { if($form_id =='' AND $control !='') { $form_id = remplacetas('form_datos','control',"$control",'form_id',"") ; $form_id = $form_id[0]; } $remitente = buscar_campo_nombre("$form_id","Para"); $destinatario = buscar_campo_nombre("$form_id","De"); $mensaje = buscar_campo_nombre("$form_id","Mensaje"); $asunto = buscar_campo_nombre("$form_id","Asunto"); $asunto_value = remplacetas('form_datos','form_id',"$form_id",'contenido'," id_campo = '$asunto' AND control='$control'") ; $mensaje_value = remplacetas('form_datos','form_id',"$form_id",'contenido'," id_campo = '$mensaje' AND control='$control'") ; $remitente_value = remplacetas('form_datos','form_id',"$form_id",'contenido'," id_campo = '$remitente' AND control='$control'") ; $destinatario_value = remplacetas('form_datos','form_id',"$form_id",'contenido'," id_campo = '$destinatario' AND control='$control'") ; $formulario =" <input type='hidden' id='$destinatario"."[0]' name='$destinatario"."[0]' value='$_SESSION[usuario_milfs]'> <input type='hidden' id='tipo' name='tipo' value='solocampos'> <input type='hidden' id='form_id' name='form_id' value='$form_id'> <input type='hidden' id='mensaje' name='mensaje' value='El mensaje fue enviado :-) '> <input type='hidden' id='control' name='control' value='$control'> <input type='hidden' id='$remitente"."[0]' name='$remitente"."[0]' value='$destinatario_value[0]'> <div class='form-group'> <label for='$asunto"."[0]'>Asunto</label> <input class='form-control' id='$asunto"."[0]' name='$asunto"."[0]' value='$asunto_value[0]'> </div> <div class='form-group'> <label for='$mensaje"."[0]'>Mensaje</label> <textarea class='form-control' id='$mensaje"."[0]' name='$mensaje"."[0]' >$mensaje_value[0]</textarea> </div> "; $formulario =" <div class=' ' id='div_$control'> <div id ='div_mensaje' class=' '> <form autocomplete='off' role='form' class='' id='form_mensajes_$control' name='form_mensajes_$control'> $formulario <div class='form-group '> <div class='btn btn-success btn-block' onclick=\"xajax_formulario_grabar(xajax.getFormValues('form_mensajes_$control'),'');\" >ENVIAR MENSAJE</div> </div> </form> </div> </div> </form>"; $respuesta->addAssign("div_mensaje_$control","innerHTML",$formulario); //$respuesta->addAlert("div_mensaje_$control_original","innerHTML",$formulario); return $respuesta; } elseif($tipo=="recuperar") { if($control =="") { $control = md5(rand(1,99999999).microtime()); } $consulta ="SELECT *, FROM_UNIXTIME(timestamp) as fecha , DATE_FORMAT(FROM_UNIXTIME(timestamp),'%Y-%m-%d') as dia, DATE_FORMAT(FROM_UNIXTIME(timestamp),'%H:%i') as hora FROM form_datos WHERE form_id ='$form_id' AND id_campo = '$campo_destinatario' AND contenido ='$_SESSION[usuario_milfs]' GROUP BY control, timestamp order by timestamp DESC "; $link=Conectarse(); mysqli_set_charset($link, "utf8"); $mensajes = mysqli_query($link,$consulta); // $destinatario ="$campo_destinatario"."[0]"; // $para = buscador_campo("$campo_destinatario","$form_id","","$destinatario","",""); $campos = formulario_areas('',$form_id,'campos','','','',''); $formulario =" <input type='hidden' id='$campo_remitente"."[0]' name='$campo_remitente"."[0]' value='$_SESSION[usuario_milfs]'> <input type='hidden' id='tipo' name='tipo' value='solocampos'> <input type='hidden' id='form_id' name='form_id' value='$form_id'> <input type='hidden' id='mensaje' name='mensaje' value='El mensaje fue enviado :-) '> <input type='hidden' id='control' name='control' value='$control'> $campos"; $formulario =" <div class=' ' id='div_$control'> <div id ='div_mensaje' class='alert alert-success '> <form autocomplete='off' role='form' class='' id='form_mensajes' name='form_mensajes'> $formulario <div class='form-group '> <div class='btn btn-success btn-block' onclick=\"xajax_formulario_grabar(xajax.getFormValues('form_mensajes'),'');\" >ENVIAR MENSAJE</div> </div> </form> </div> </div>"; $lista ="<div class='panel-group' id='mensajes' style='max-height:800px width:100% ; overflow:auto'> <div class='panel panel-default panel-success'> <div class='panel-heading row'> <h4 class='panel-title'> <div class='col-md-2'></div> <a data-toggle='collapse' data-parent='#accordion' href='#collapse_$control'> <div class='btn btn-success col-md-9'><i class='glyphicon glyphicon-envelope'></i> ENVIAR UN MENSAJE NUEVO</div> <div class='col-md-1'><div class='badge pull-right'></div></div> </a> </h4> </div> <div id='collapse_$control' class='panel-collapse collapse'> <div class='panel-body'> <div id= 'div_mensaje_$control'>$formulario</div> </div> <div class='panel-footer'> <!-- <div class='btn btn-success'><i class='glyphicon glyphicon-reply'></i> Responder</div> --> </div> </div> </div> "; while( $row = mysqli_fetch_array( $mensajes ) ) { $asunto = remplacetas('form_datos','form_id',"$form_id",'contenido'," id_campo = '$campo_asunto' AND control='$row[control]'") ; $mensaje = remplacetas('form_datos','form_id',"$form_id",'contenido'," id_campo = '$campo_mensaje' AND control='$row[control]'") ; $remitente = remplacetas('form_datos','form_id',"$form_id",'contenido'," id_campo = '$campo_remitente' AND control='$row[control]'") ; $remitente = remplacetas('form_datos','form_id',"$form_usuarios",'contenido'," id_campo = '$campo_usuarios' AND control='$remitente[0]'") ; if($remitente[0] =='') {$remitente[0]="<span class='text-danger'>Sistema<span>";} $hoy=date('Y-m-d'); $control = $row[control]; if($hoy == $row[dia]){$momento = $row[hora];}else {$momento=$row[dia];} //function contenido_mostrar($id,$control,$div,$plantilla) //$contenido = contenido_mostrar("$form_id","$control","",''); $lista .=" <div class='panel panel-default panel-warning'> <div class='panel-heading row'> <h4 class='panel-title'> <a data-toggle='collapse' data-parent='#accordion' href='#collapse_$control'> <div class='col-md-2'><strong>$remitente[0]</strong></div> <div class='col-md-9'>$asunto[0]</div> <div class='col-md-1'><div class='badge pull-right'>$momento</div></div> </a> </h4> </div> <div id='collapse_$control' class='panel-collapse collapse'> <div class='panel-body'> <p>$mensaje[0]</p> </div> <div class='panel-footer'> <div id= 'div_mensaje_$control'> <a class='link' onclick=\"xajax_mensajes('responder','','','$control') \"><i class='glyphicon glyphicon-reply'></i> Responder</a> </div> </div> </div> </div> "; } // $respuesta->addAssign("div_mensaje","innerHTML",$lista); $lista .="</div>"; return $lista; } $resultado ="hola"; $respuesta->addAssign("div_mensaje","innerHTML",$resultado); return $respuesta; } $xajax->registerFunction("mensajes"); function revisar_campo_unico($id,$campo,$id_form,$valor) { $respuesta = new xajaxResponse('utf-8'); $div= "div_$id"; $existe = remplacetas('form_datos','form_id',"$id_form",'control'," BINARY contenido = '$valor' AND id_campo = '$campo'") ; if($existe[0] != "") { $texto ="El valor ya existe"; $respuesta->addAssign("$div","className","text-danger"); $respuesta->addAssign("input_$id","className","form-group has-error"); }else{ $texto =""; $respuesta->addAssign("$div","className","text-success"); $respuesta->addAssign("input_$id","className","form-group has-success"); } $respuesta->addAssign("$div","innerHTML",$texto); return $respuesta; } $xajax->registerFunction("revisar_campo_unico"); function verificacion_email($control_usuario,$dato,$accion){ require ("milfs/includes/parametrizacion.php"); $div="div_aviso_validacion"; $respuesta = new xajaxResponse('utf-8'); $form_id =$login_formulario; $campo_usuario= $login_campo_usuario; $campo_email = buscar_campo_tipo("$form_id","13"); $usuario = remplacetas('form_datos','form_id',"$form_id",'control'," BINARY contenido = '$control_usuario' AND id_campo = '$campo_usuario'") ; $email = remplacetas('form_datos','control',"$usuario[0]",'contenido'," id_campo = '$campo_email[0]' ") ; $validado = remplacetas('form_datos','control',"$usuario[0]",'contenido'," id_campo = '$login_campo_validado' ") ; $rrn = rand(123,999); $rrncode = MD5("$rrn"); if($accion=="enviar") { $id_empresa="1"; $email_empresa = remplacetas("empresa","id","1","email",""); $administrador = remplacetas("empresa","id","1","email",""); $reply = remplacetas("empresa","id","$id_empresa","email",""); $imagen = remplacetas("empresa","id",$id_empresa,"imagen",""); $razon_social = remplacetas("empresa","id",$id_empresa,"razon_social",""); $web = remplacetas("empresa","id",$id_empresa,"web",""); $headers = "MIME-Version: 1.0\r\n"; $headers .= "Content-type: text/html; charset=iso-8859-1\r\n"; $headers .= "From: $razon_social[0] < $email_empresa[0] >\r\n"; $headers .= "Reply-To: $email_empresa[0]\r\n"; $headers .= "Return-path: $email_empresa[0]\r\n"; $cuerpo_email =" <div style='text-align: center;'> <h2>Código de validación</h2> <H1>$rrn</H1> <h3>Por favor escribe este código en el campo correspondiente</h3> </div> "; $asunto= "Recibiste un mensaje en [$portal_sigla] "; $titulo_email ="Necesitamos validar tu email $email[0]"; $campo_imagen = buscar_campo_tipo("$id_form","15"); $imagen_email = remplacetas('form_datos','id_campo',$campo_imagen[0],'contenido'," control = '$nuevo_identificador' ") ; $imagen_email = "https://$web[0]/milfs/images/secure/?file=600/$imagen_email[0]"; $nombre_email = $razon_social[0]; $plantilla = remplacetas('form_parametrizacion','opcion',"plantilla:email_general",'descripcion',"id_empresa = '1'") ; $consulta_plantilla ="$plantilla[2]"; $plantilla = html_entity_decode ( $plantilla[0] ); eval("\$plantilla = \"$plantilla \";"); $plantilla .=""; $asunto= "Recibiste un mensaje en [$portal_sigla] "; if(mail("$dato","$titulo_email","$plantilla","$headers")){ $exito .="<h2>Tienes un email ! <pre> $headers</pre> $dato</h2>"; $resultado=" <div class='form-group has-error' id='codigo_confirmacion'> <span class='help-block'>Escribe el código de confirmación que enviamos a tu correo. </span> <div class='input-group' id=''> <span class='input-group-addon'> <i class='glyphicon glyphicon-key'></i> </span> <input type='hidden' id='rrn' name='rrn' value='$rrncode'> <input type='number' id='codigo_confirmacion' name='codigo_confirmacion' placeholder='Codigo de validación' class='form-control'> <span class='input-group-btn'> <div onclick=\"xajax_verificacion_email('$control_usuario',xajax.getFormValues('formulario_verificacion_email'),'confirmar');\" class='btn btn-danger'>Comprobar </div> </span> </div> </div> "; } else {$resultado .="<span class='text-danger'><i class='glyphicon glyphicon-meh-o'></i> Error enviando correo</span>";} $respuesta->addAssign("$div","innerHTML",$resultado); return $respuesta; } elseif($accion=="confirmar") { $rnncode = $dato['rrn']; $email = $dato['enviar_email']; $codigo_confirmacion= md5($dato['codigo_confirmacion']); $validado= md5($email); //$resultado ="$rnncode // $codigo_confirmacion"; if($rnncode == $codigo_confirmacion) { $insertar_email = insertar_linea("form_datos","$login_formulario","$login_campo_email","$email",$usuario[0],"","",""); $insertar_email = insertar_linea("form_datos","$login_formulario","$login_campo_validado","$validado",$usuario[0],"","",""); $resultado=""; $respuesta->addAssign("contenedor_login_validacion","innerHTML",$resultado); return $respuesta; } else{ $resultado="<div class='alert alert-danger'>El codigo no es valido, inténtalo de nuevo</div>"; } $respuesta->addAssign("intento_$div","innerHTML",$resultado); return $respuesta; } else {} if($validado[0] != md5("$email[0]")) { $verificar_email = " <div id='contenedor_login_validacion' > <div class='alert alert-dismissible alert-info'> <button class='close' data-dismiss='alert'>x</button> <h2><i class='glyphicon glyphicon-smile-o'></i> Vamos a validar tu email </h2> <p>Enviaremos un código de verificación a para validarlo.</p> <form autocomplete='off' role='form' id='formulario_verificacion_email'> <div class='input-group has-success'> <span class='input-group-addon'> <i class='glyphicon glyphicon-envelope'></i> </span> <input type='hidden' id='control' name='control' value='$usuario[0]'> <input type='email' class='form-control ' id='enviar_email' name='enviar_email' value='$email[0]'> <span class='input-group-btn'> <div onclick=\"xajax_verificacion_email('$control_usuario',document.getElementById('enviar_email').value,'enviar');\" class='btn btn-warning'>Enviar código</div> </span> </div> <div id='$div'></div> <div id='intento_$div'></div> </form> </div> </div> "; if($accion=="verificar") { $verificar_email = ""; } } else{ if($accion=="verificar") { $verificar_email = "$usuario[0]"; } else { $verificar_email=""; } //$verificar_email= "Ok"; } return $verificar_email; } $xajax->registerFunction("verificacion_email"); function milfs_session($form_id,$campo_usuario,$campo_password,$tipo,$datos,$div){ $accion=""; $datos = mysql_seguridad($datos); $respuesta = new xajaxResponse('utf-8'); require ("milfs/includes/parametrizacion.php"); if($tipo =="") { if(isset($_SESSION['usuario_milfs'])) { //$control = remplacetas('form_datos','control',"$_SESSION[control_usuario_milfs]",'contenido'," id_campo = '$campo_password' ") ; $campo_email = buscar_campo_tipo("$form_id","13"); $usuario = remplacetas('form_datos','form_id',"$form_id",'control'," BINARY contenido = '$_SESSION[nombre_usuario_milfs]' AND id_campo = '$campo_usuario'") ; $email = remplacetas('form_datos','control',"$usuario[0]",'contenido'," id_campo = '$campo_email[0]' ") ; $validado = remplacetas('form_datos','control',"$usuario[0]",'contenido'," id_campo = '$login_campo_validado' ") ; /*if($validado[0] != md5("$email[0]")) { $validar_email= "El email no ha sido validado $validado[0] //". md5("$email[0]")." // $email[0] ";} else{ $validar_email= "validado"; } */ $validar_email = verificacion_email($_SESSION['nombre_usuario_milfs'],'',''); //$email = "someone@somewhere.com"; if(isset($_SESSION['avatar_usuario_milfs']) ) { $avatar = $_SESSION['avatar_usuario_milfs']; }else { $size=""; $default = "https://tupale.co/milfs/images/avatar.png"; $avatar = "https://www.gravatar.com/avatar/" . md5( strtolower( trim( $email[0] ) ) ) . "?d=" . urlencode( $default ) . "&s=" . $size; } $formulario = " <p> <img style='width:40px;' class='img img-circle' src='$avatar'> Hola $_SESSION[nombre_usuario_milfs] </p> $validar_email <a class=' btn ' onclick=\"xajax_milfs_session('','','','salir') \"><i class='glyphicon glyphicon-log-out'></i> SALIR </a> "; return $formulario; }else { /* * * //// social login * <!-- <a class=' list-group-item btn btn-default ' href='./sociallogin.php?provider=twitter'><i class='fa fa-twitter'></i> Twitter</a> <a class=' list-group-item btn btn-default ' href='./sociallogin.php?provider=facebook'><i class='fa fa-facebook'></i> Facebook</a> --> * * //////// * if($_SERVER['HTTP_HOST'] !="tupale.co" ) { $social_login=""; $cols="12"; } else { */ $cols="10"; $social_login=" <div class='col-md-12'> <div class='list-group'> <a class=' list-group-item btn btn-default ' href='./milfs'>Administrador</a> <a class=' list-group-item btn btn-default ' href='#' onclick=\"javascript: document.getElementById('div_formulario_session').className= 'visible col-md-12'; \">Usuario</a> </div> </div> "; //return $formulario; // } $formulario =" $accion <div class='row' id='formulario_session'> $social_login <div class='col-md-10 invisible' id='div_formulario_session' > <form autocomplete='off' class='form-horizontal ' autocomplete='off' id='login_milfs' name ='login_milfs' > <div class='form-group> <label for='usuario'>Usuario </label> <input type='text' id='usuario' name='usuario' class='form-control'> </div> <div class='form-group> <label for='password'>Clave </label> <input type='password' id='password' name='password' class='form-control'> </div> <br> <div class='row'> <div class='col-xs-4'> <div class='btn btn-default ' onclick =\"xajax_milfs_session('$form_id','$campo_usuario','$campo_password','recuperar','','$div') \">Recuperar</div> </div> <div class='col-xs-4'> <div class='btn btn-default ' onclick =\"xajax_milfs_session('$form_id','$campo_usuario','$campo_password','registrarse','','$div') \">Registrarse</div> </div> <div class='col-xs-4'> <div class='btn btn-block btn-success ' onclick =\"xajax_milfs_session('$form_id','$campo_usuario','$campo_password','ingreso',xajax.getFormValues('login_milfs'),'$div') \">ingresar</div> </div> </div> </form> </div> <div id='resultado'></div> </div> "; $respuesta->addAssign("$div","innerHTML",$formulario); return $respuesta; } } elseif($tipo =='salir') { session_destroy(); $respuesta->addScript("javascript:location.reload(true);"); } elseif($tipo=='registrarse') { $modificable = remplacetas('form_id','id',$form_id,'modificable','') ; if($modificable[0] != "1" and (!isset ( $_SESSION[id]) )) { $formulario = "<div class='aler alert-warning'>Función no disponible, por favor comuníquese con el administrador código </div>"; $respuesta->addAssign("$div","innerHTML",$formulario); return $respuesta; } $campos = formulario_areas('',$form_id,'campos','','','',''); $boton =" <button id='boton_registro' href='#' class='btn btn-success btn-block' onclick =\"this.disabled= true; xajax_milfs_session('$form_id','$campo_usuario','$campo_password','nuevo',xajax.getFormValues('nuevo_registro'),'$div'); \" > Registrarse </button> "; $control = md5(rand(1,99999999).microtime()); $formulario =" <div class='container'> <form autocomplete='off' class='form-horizontal' id='nuevo_registro' name='nuevo_registro' > <input type='hidden' value='$control' id='control' name='control'> $campos $boton </form> <div id='resultado'></div> </div> "; $respuesta->addAssign("$div","innerHTML",$formulario); } elseif($tipo=='recuperar') { if($datos =="") { //$campos = formulario_areas('',$form_id,'campos'); $campos =" <div class='form-group> <label for='usuario'>Usuario</label> <input type='text' id='usuario' name='usuario' class='form-control'> </div> <div class='form-group> <label for='usuario'>Código de recuperación <br><strong>Deja este campo vacío si aun no tienes el código de recuperación </strong></label> <input type='text' id='codigo' name='codigo' class='form-control'> </div> "; $boton =" <div class='btn btn-success btn-block' onclick =\"xajax_milfs_session('$form_id','$campo_usuario','$campo_password','recuperar',xajax.getFormValues('nuevo_registro'),'$div'); \" >Solicitar clave</div> "; $control = md5(rand(1,99999999).microtime()); $formulario =" <form autocomplete='off' class='form-horizontal' id='nuevo_registro' name='nuevo_registro' > <input type='hidden' value='$control' id='control' name='control'> $campos <br> $boton </form> <div id='resultado'></div> "; }else{ $usuario = remplacetas('form_datos','form_id',"$form_id",'control'," BINARY contenido = '$datos[usuario]' AND id_campo = '$campo_usuario'") ; if($usuario[0] !="") { $password = remplacetas('form_datos','control',"$usuario[0]",'contenido'," id_campo = '$campo_password' ") ; if($datos[codigo] !="") { if( $datos[codigo] =="$password[0]" ){ $control = remplacetas('form_datos','control',"$usuario[0]",'control'," id_campo = '$campo_password' ") ; $campos =" <form autocomplete='off' class='form' id='confirmar_clave' name='confirmar_clave'> <input type='hidden' id='codigo' name='codigo' value='$datos[codigo]' > <input type='hidden' id='control' name='control' value='$control[0]' > <div class='row'> <div class='form-group col-md-6'> <div class='input-group ' id='password_grupo' > <label for='password'>Nueva clave</label> <input type='password' class='form-control' id='password' name='password'> </div> </div> <div class='col-md-6 form-group'> <div class='input-group ' id='confirmar_password_grupo'> <label for='confirmar_password'>Confirmar nueva clave</label> <input onchange= \"xajax_confirma_campo((document.getElementById('password').value),(document.getElementById('confirmar_password').value),'password','confirmar_password') \" type='password' class='form-control' id='confirmar_password' name='confirmar_password'> </div> </div> </div> <div class='row'> <div class='col-md-12'> <div class='btn btn-block btn-success' onclick =\"xajax_milfs_session('$form_id','$campo_usuario','$campo_password','confirmar_recuperar',xajax.getFormValues('confirmar_clave')); \" >Grabar</div> </div> </div> </form> "; $formulario ="$campos"; $respuesta->addAssign("$div","innerHTML",$formulario); return $respuesta; }else { $respuesta->addAlert("El código no es correcto, por favor rectifíquelo o solicítelo nuevamente dejando el campo VACIO"); return $respuesta; } } $campo_email = buscar_campo_tipo("$form_id","13"); $usuario = remplacetas('form_datos','form_id',"$form_id",'control'," BINARY contenido = '$datos[usuario]' AND id_campo = '$campo_usuario'") ; $email = remplacetas('form_datos','control',"$usuario[0]",'contenido'," id_campo = '$campo_email[0]' ") ; $formulario="$usuario[0] $password[0] // $campo_email[0] $email[0]"; //// siempre se enviara el email desde el mail parametrizado en la empresa 1 //$email_empresa = remplacetas('empresa','id','1','email','') ; $email_empresa = remplacetas('empresa','id','1','email','') ; $sigla = remplacetas('empresa','id','1','sigla','') ; $razon_social = remplacetas('empresa','id','1','razon_social','') ; $headers = "MIME-Version: 1.0\r\n"; $headers .= "Content-type: text/html; charset=iso-8859-1\r\n"; $headers .= "From: $razon_social[0] <$email_empresa[0]>\r\n"; $headers .= "Reply-To: $razon_social[0] $email_empresa[0]\r\n"; $headers .= "Return-path: $email_empresa[0]\r\n"; $asunto= "[ $sigla[0] ] Código para recuperar contraseña "; $cuerpo =" <h1>Hola $datos[usuario]</h1> El código para recuperar tu contraseña es: <h2>$password[0]</h2> Regresa pronto :-) "; if(mail("$email[0]","$asunto","$cuerpo","$headers")){ $formulario ="<div class='alert alert-success'><h1>Te hemos enviado un correo a <strong>$email[0]</strong> con el código de recuperación </h1></div>"; } else {$formulario ="<div class='alert alert-danger'><h1>Error enviando correo</h1></div>";} }else{ $formulario="<div class='alert alert-warning'><h1>No encontramos tu usuario <strong>$datos[usuario]</strong>.<br>Por favor rectifícalo y prueba nuevamente</h1></div>"; } } $respuesta->addAssign("$div","innerHTML",$formulario); } elseif($tipo=='confirmar_recuperar') { if($datos['password'] != $datos['confirmar_password']) { $respuesta->addAlert("Los valores no son iguales"); return $respuesta; } $link=Conectarse(); mysqli_set_charset($link, "utf8"); $consulta="UPDATE form_datos SET contenido = MD5('$datos[password]') WHERE control ='$datos[control]' AND contenido ='$datos[codigo]' AND form_id ='$form_id' AND id_campo = '$campo_password' "; if (mysqli_query($link,$consulta)){ $resultado ="<div>Se cambió el password Por favor ingrese con sus nuevos datos <a href='?'> aquí </a> </div>"; $respuesta->addAssign("$div","innerHTML",$resultado); return $respuesta; }; } elseif ($tipo=='ingreso'){ $usuario = remplacetas('form_datos','form_id',"$form_id",'control'," BINARY contenido = '$datos[usuario]' AND id_campo = '$campo_usuario'") ; $password = remplacetas('form_datos','form_id',"$form_id",'control'," BINARY contenido = MD5('$datos[password]') AND id_campo = '$campo_password'") ; if ( $usuario[0] != "" AND $password[0] !="") { $respuesta->addAssign("login_milfs","className"," has-success "); // $control_servicio = remplacetas('form_datos','form_id',"$login_formulario",'control'," BINARY contenido = '$servicio' AND control = '$control_uid[0]'") ; $_SESSION['usuario_milfs'] = $usuario[0]; $_SESSION['nombre_usuario_milfs'] = $datos['usuario']; $_SESSION['control_usuario_milfs'] = $usuario[0]; $resultado ="<div class='alert alert-success'><h1>Gracias por regresar $_SESSION[nombre_usuario_milfs] <i class='glyphicon glyphicon-smile-o'></i></h1></div> "; $respuesta->addScript("javascript:location.reload(true);"); }else {$resultado ="<br><div class='alert alert-danger'><h1>Error</h1>Los datos no son correctos :( </div>"; $respuesta->addAssign("login_milfs","className"," has-error "); $respuesta->addAssign("div_formulario_session","innerHTML",$resultado); return $respuesta; } $respuesta->addAssign("$div","innerHTML",$resultado); //$respuesta->addAlert("resultado"); } elseif ($tipo=='nuevo'){ $usuario = remplacetas('form_datos','form_id',"$form_id",'control'," BINARY contenido = '$datos[usuario]' AND id_campo = '$campo_usuario'") ; $link=Conectarse(); mysqli_set_charset($link, "utf8"); $campos_consulta_obligatorio=" SELECT id_campo, obligatorio FROM form_contenido_campos WHERE id_form ='$form_id' AND obligatorio='1' "; $campos_obligados= mysqli_query($link,$campos_consulta_obligatorio); while( $row = mysqli_fetch_array( $campos_obligados ) ) { $campo_valor=$datos[$row[id_campo]][0]; if($row[obligatorio]=='1'){ $obligatorios .= "$row[id_campo]"; if($campo_valor == '' && $row[obligatorio]=='1'){ $campo_nombre = remplacetas('form_campos','id',$row[id_campo],'campo_nombre'); $error = "Revise campos obligatorios $campo_nombre[0]"; }else {$error ="";} if($error !=''){ $respuesta->addAlert($error); $respuesta->addScript(" document.getElementById('boton_registro').disabled=false"); return $respuesta; } } }/// fin de registros obligatorios $campos_consulta=" SELECT id_campo, obligatorio, id_empresa FROM form_contenido_campos WHERE id_form ='$form_id' "; $campos= mysqli_query($link,$campos_consulta); $ip = obtener_ip(); $control = $datos['control']; /// incluyo servicio while( $row = mysqli_fetch_array( $campos ) ) { $campo_valor=$datos[$row['id_campo']][0]; $campo_tipo = remplacetas('form_campos','id',$row['id_campo'],'campo_tipo',''); /// Si el campo es password (18) se guarda su equivalente en md5 if($campo_tipo[0] =="18") { $campo_valor = MD5("$campo_valor"); } // SI EL CAMPO ES UNICO O EMAIL SE REVISA QUE NO EXISTA elseif($campo_tipo[0] =="19" OR $campo_tipo[0] =="12" OR $campo_tipo[0] =="13" ) { $existe = remplacetas('form_datos','form_id',"$form_id",'control'," BINARY contenido = '$campo_valor' AND id_campo = '$row[id_campo]'") ; if($existe[0] !='') { $respuesta->addAlert("ATENCION: El nombre de usuario o el Correo electrónico ya se encuentran registrados !"); $respuesta->addScript(" document.getElementById('boton_registro').disabled=false"); return $respuesta; }else{ //$respuesta->addAlert("$existe[2]"); return $respuesta; } } else {} if ($campo_valor !=''){ if($control !="") { $graba_ip = "INET_ATON('".$ip."') "; $insertar_consulta = " INSERT INTO `form_datos` SET id_campo = '$row[id_campo]', contenido = '$campo_valor', control ='$control', timestamp = UNIX_TIMESTAMP(), form_id = '$form_id', ip = $graba_ip, id_empresa = '$row[id_empresa]' "; //$debug .= "$insertar_consulta / "; }else{$error="Sin código de control"; } }else{ } if ($error ==''){ $sql_consulta=mysqli_query($link,$insertar_consulta); if($sql_consulta){ //$login = milfs_session("$form_id","$campo_usuario","$campo_password","","","$div"); $resultado ="<div class='alert alert-success'>Gracias por registrarse, Actualiza e ingresa con los nuevos datos. $login </div>"; }else{$resultado.= "<div class='alert alert-danger'>La consulta no se grabó</div>";} }else { } } require ("milfs/includes/parametrizacion.php"); $insertar_servicio = insertar_linea("form_datos","$login_formulario","$social_login_servicio","$portal_sigla",$control,"","",""); $resultado ="<div class='alert alert-success'>Gracias por registrarse, Actualiza e ingresa con los nuevos datos. </div>"; $respuesta->addAssign("$div","innerHTML","$resultado"); return $respuesta; } elseif ($tipo=='boton'){ if(isset($_SESSION['usuario_milfs']) OR isset($_SESSION['id']) ) { //$control = remplacetas('form_datos','control',"$_SESSION[control_usuario_milfs]",'contenido'," id_campo = '$campo_password' ") ; $campo_email = buscar_campo_tipo("$form_id","13"); $usuario = remplacetas('form_datos','form_id',"$form_id",'control'," BINARY contenido = '$_SESSION[nombre_usuario_milfs]' AND id_campo = '$campo_usuario'") ; $email = remplacetas('form_datos','control',"$usuario[0]",'contenido'," id_campo = '$campo_email[0]' ") ; $validado = remplacetas('form_datos','control',"$usuario[0]",'contenido'," id_campo = '$login_campo_validado' ") ; /*if($validado[0] != md5("$email[0]")) { $validar_email= "El email no ha sido validado $validado[0] //". md5("$email[0]")." // $email[0] ";} else{ $validar_email= "validado"; } */ if(isset($_SESSION['id']) ) { $validar_email ="";}else{ $validar_email = verificacion_email($_SESSION['nombre_usuario_milfs'],'','');} //$email = "someone@somewhere.com"; if(isset($_SESSION['avatar_usuario_milfs']) ) { $avatar = $_SESSION['avatar_usuario_milfs']; }else { $size=""; $default = "https://tupale.co/milfs/images/avatar.png"; $avatar = "https://www.gravatar.com/avatar/" . md5( strtolower( trim( $email[0] ) ) ) . "?d=" . urlencode( $default ) . "&s=" . $size; } $formulario = " <i> <img style='width:40px;' class='img img-circle' src='$avatar'> $_SESSION[nombre_usuario_milfs] <a class=' btn ' onclick=\"xajax_milfs_session('','','','salir','$div') \"><i class='fa fa-sign-out'></i> SALIR </a> </i> $validar_email "; }else{ $div ="formulario_login"; $formulario =" <div id='formulario_login' class='' > <div class=' btn btn-success btn-block' onclick=\"xajax_milfs_session('$login_formulario','$login_campo_usuario','$login_campo_password','','','$div');\">Ingresa</div> </div> "; } return $formulario; }else{} return $respuesta; } $xajax->registerFunction("milfs_session"); function buscar_datos($valores,$id_form,$plantilla,$div){ $valores = mysql_seguridad($valores); $respuesta = new xajaxResponse('utf-8'); if($valores =="") { $alerta = "<div class='alert alert-warning'><h1>Por favor escriba que desea buscar</h1></div>"; $respuesta->addAssign("$div","innerHTML",$alerta); return $respuesta; } if (is_array($valores) ){ $valor = $valores['valor']; } else {$valor=$valores;} if($valor =='*formato*') { $control_buscador = MD5(rand()); $resultado=" <div class='col-xs-12' id='buscador_blog'> <div class='col-xs-12 col-md-10 input-group' > <input placeholder='Escribe para buscar' class='form-control' id='$control_buscador' name= '$control_buscador'> </div> <div class='col-md-2' id='lupa_buscador'style='padding: 0px;'> <div class='btn btn-default' onclick =\"xajax_buscar_datos((document.getElementById('$control_buscador').value),'$id_form','$plantilla','$div'); \"><i class='fa fa-search'></i></div> </div> </div> "; return $resultado; }else{ if($id_form !="") {$w_form ="form_id = '$id_form' AND ";} $consulta ="SELECT * FROM form_datos WHERE $w_form ( contenido COLLATE utf8_spanish2_ci like '%$valor%' ) group by control LIMIT 200 "; $link=Conectarse(); mysqli_set_charset($link, "utf8"); $sql=mysqli_query($link,$consulta); if (mysqli_num_rows($sql)!=0){ mysqli_data_seek($sql, 0); $fila=1; $divider=2; $cols = (12/$divider); $i =0; while( $row = mysqli_fetch_array( $sql ) ) { if($i % $divider==0) { $encontrados .= " <div class='container-fluid ' role='row' id='grid_$i' style='' class='alert alert-info'> "; } $i++; /* $contenido = htmlentities($row[contenido]); $p = stripos($contenido, $valor); $s1 = substr($contenido, 0, $p); $s2 = substr($contenido, $p, strlen($valor)); $s3 = substr($contenido, ($p + strlen($valor))); $r = $s1."<font color='red'>$s2</font>".$s3; */ $datos = landingpage_contenido_identificador($row['control'],"","grid",'paginado'); // $datos= landingpage_contenido_identificador($identificador,$form,$plantilla,$tipo); //$datos = contenido_mostrar("$row[form_id]","$row[control]",'',"$plantilla"); $contenido ="<div class='col-sm-$cols thumbnail' style='' ><div class=''> $datos</div></div>"; $encontrados .="$contenido "; $fila++; if( $i % $divider==0) { $encontrados .= "</div> "; } } } $resultado .="<h2>Resultados de: $valor</h2> <div class=''>$encontrados </div> "; $respuesta->addAssign("$div","innerHTML",$resultado); return $respuesta; } } $xajax->registerFunction("buscar_datos"); function datos_grid($id_form,$filtro,$valor,$plantilla,$divider,$inicio,$limite) { $respuesta = new xajaxResponse('utf-8'); $nuevo_inicio = ($inicio+$limite+1); if($inicio =="") { $inicio = "0"; $script = " $(window).scroll(function() { if ($(window).scrollTop() == $(document).height() - $(window).height()) { xajax_datos_grid('$id_form','$filtro','$valor','$plantilla','$divider','$nuevo_inicio','$limite') ; } }); "; //$respuesta->addScript("$script"); //$respuesta->addAlert("$script"); } if($limite =="") {$limite = "250";} if($valor !=""){ $md5_valor = $valor; if($filtro !='' ){$w_filtro =" AND id_campo = '$filtro' AND md5(binary contenido) = '$md5_valor' ";} } $consulta_total= "SELECT * FROM form_datos WHERE form_id= '$id_form' $w_filtro GROUP BY control "; $consulta= "SELECT * FROM form_datos WHERE form_id= '$id_form' $w_filtro GROUP BY control LIMIT $inicio , $limite"; $link=Conectarse(); mysqli_set_charset($link, "utf8"); //mysqli_real_escape_string($link,$consulta); $sql_total=mysqli_query($link,$consulta_total); $total = mysqli_num_rows($sql_total); $sql=mysqli_query($link,$consulta); $descripcion = remplacetas('form_id','id',$id_form,'descripcion',"") ; $descripcion = $descripcion[0]; $buscador = buscar_datos("","$id_form","$plantilla","grid_resultado"); $contenido = "$descripcion"; if (mysqli_num_rows($sql)!=0){ mysqli_data_seek($sql, 0); $fila=1; if($divider =="") { $divider=3; } $cols = (12/$divider); $i =0; while( $row = mysqli_fetch_array( $sql ) ) { if($i % $divider==0) { $contenido .= " <div class='container-fluid ' role='row' id='grid_$i' style=''> "; } $i++; $datos = contenido_mostrar("$id_form","$row[control]",'',"$plantilla"); $contenido .="<div class='col-sm-$cols' style=''>$datos</div>"; $fila++; if( $i % $divider==0) { $contenido .= "</div> "; } } } $inicio = ($inicio+$limite+1); $div_mas_contenido ="mas_contenido_".$inicio."_".$limite.""; $mostrado = ($inicio+$limite-1); //$limite = ($inicio+$limite-1); $resultado =" <br>$buscador <div id='grid_resultado'> $contenido <div class='btn btn-default btn-block' id='$div_mas_contenido' onclick=\" xajax_datos_grid('$id_form','$filtro','$valor','$plantilla','$divider','$inicio','$limite') ;\" > Mostrar mas resultados </div> </div><br> "; ///$respuesta->addScript("$script"); $respuesta->addAssign("contenedor","innerHTML",$resultado); return $respuesta; } $xajax->registerFunction("datos_grid"); function insertar_registro($tabla,$formulario,$div,$principal) { //$valores ="$formulario[0]"; $formulario = limpiar_caracteres($formulario); foreach($formulario as $c=>$v){ $valores .= " $c = '$v',"; } $valores = "$valores id_empresa = '$_SESSION[id_empresa]'"; $respuesta = new xajaxResponse('utf-8'); $link=Conectarse(); mysqli_set_charset($link, "utf8"); $insertar = "INSERT INTO $tabla set $valores"; // $edit = "UPDATE $tabla SET $campo = '$valor' WHERE id = '$key' limit 1; "; $sql=mysqli_query($link,$insertar); $ultimo_id = mysqli_insert_id($link); if(mysqli_affected_rows($link) != 0){ } if($div !='') { $valores = limpiar_caracteres("$valores"); $grupo = editar_campo("$tabla",$ultimo_id,"$principal","","","",""); $respuesta->addAssign($div,"innerHTML","<strong>$formulario[$principal] </strong>"); } //$respuesta->addAlert("$insertar"); //$areas = tabla_areas('form_areas','id','nombre,descripcion,estado,orden','',"",'Areas',''); //$respuesta->addScript("javascript:xajax_tabla_areas('form_areas','id','nombre,descripcion,estado,orden','','','Areas','div_campos')"); //$respuesta->addAssign("contenido","innerHTML","$insertar"); return $respuesta; } $xajax->registerFunction("insertar_registro"); function formulario_area_campos($perfil,$area,$control,$ubicacion) { $tipo=""; $control_edit ="$control"; $solo_campos =""; $muestra_form =""; if(isset($_SESSION['id_empresa'])) {$id_empresa= $_SESSION['id_empresa'];} $campos= ""; $consulta = " SELECT * FROM form_campos , form_contenido_campos WHERE form_contenido_campos.id_form = '$perfil' AND form_contenido_campos.id_campo = form_campos.id AND campo_area='$area' ORDER BY form_contenido_campos.orden"; $link=Conectarse(); mysqli_set_charset($link, "utf8"); $sql=mysqli_query($link,$consulta); if (mysqli_num_rows($sql)!='0'){ mysqli_data_seek($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['multiple'] =="1" AND $tipo =='edit'){ if($row['multiple'] =="1" ){ $campos .= "".formulario_campos_render_multiple($row['id_campo'],$perfil,$control_edit,$ubicacion); }else{ $campos .= "".formulario_campos_render($row['id_campo'],$perfil,$control_edit,'','',"$ubicacion"); //$campos .= "".formulario_campos_render_multiple($row['id_campo'],$perfil,$control_edit); } $muestra_form .= "$campos $obligatorio "; $solo_campos .= "$campos $obligatorio "; } } $resultado = "$muestra_form "; return "$campos"; } function formulario_areas($metadatos,$perfil,$tipo,$form_respuesta,$control_respuesta,$ubicacion,$extra){ $id=""; $resultado_campos =""; $resultado_solo_campos =""; $subir_imagen =""; $campo_imagen_nombre =""; $imagen=""; $script=""; $controladores=""; $muestra_form=""; if($form_respuesta =='respuesta'){$control = $control_respuesta;} //elseif($form_respuesta =='edicion'){$control = $control_respuesta;} else{ $control = md5(rand(1,99999999).microtime()); } $respuesta = new xajaxResponse('utf-8'); if(isset($_SESSION['id_empresa'])) {$id_empresa= $_SESSION['id_empresa'];} // $consulta= "SELECT * , form_areas.orden FROM form_campos, `form_contenido_campos`, form_areas WHERE form_campos.campo_area = form_areas.id AND form_campos.id = form_contenido_campos.id_campo AND form_contenido_campos.id_form = '$perfil' GROUP BY form_campos.campo_area ORDER BY form_areas.orden"; $consulta= "SELECT * , form_areas.orden FROM form_campos, `form_contenido_campos`, form_areas WHERE form_campos.campo_area = form_areas.id AND form_campos.id = form_contenido_campos.id_campo AND form_contenido_campos.id_form = '$perfil' GROUP BY form_campos.campo_area ORDER BY form_areas.orden"; $link=Conectarse(); mysqli_set_charset($link, "utf8"); $sql=mysqli_query($link,$consulta); $cantidad= mysqli_num_rows($sql); if($tipo=='cantidad') { return $cantidad;} if (mysqli_num_rows($sql)!='0'){ mysqli_data_seek($sql, 0); //$campo_titulo = remplacetas('parametrizacion','campo',$id,'descripcion'," tabla='form_id' and opcion = 'titulo'") ; $nombre = remplacetas('form_id','id',$perfil,'nombre','') ; $descripcion = remplacetas('form_id','id',$perfil,'descripcion','') ; $formulario_respuesta = remplacetas('form_id','id',$perfil,'formulario_respuesta','') ; $empresa = remplacetas('form_id','id',$perfil,'id_empresa','') ; $empresa = $empresa[0]; $nombre= strtoupper($nombre[0]); $descripcion= $descripcion[0]; $form_respuesta= $formulario_respuesta[0]; //// encabezado form if($tipo =='edit') {$control= $control_respuesta;} elseif($form_respuesta !='' AND $control !=''){$control =$control;} else{$control = md5(rand(1,99999999).microtime());} //$descripcion=mysqli_result($sql,0,"descripcion"); //$nombre=mysqli_result($sql,0,"nombre"); //$empresa=mysqli_result($sql,0,"id_empresa"); $encabezado = empresa_datos("$empresa",'encabezado'); $pie = empresa_datos("$empresa",'pie'); $logo = remplacetas('empresa','id',"$empresa",'imagen','') ; $cabecera = " <div class=''> <div class='row'> <div class='col-md-3'> <img class='img img-responsive' src='$_SESSION[url]/milfs/images/secure/?file=150/$logo[0]'> </div> <div class='col-md-9'> <h2>$nombre<small style='display:block;'>$descripcion </small></h2> </div> </div> </div>"; $campo_imagen = buscar_campo_tipo($perfil,"15"); if($campo_imagen[0] !="") { $campo_imagen_nombre = $campo_imagen[1]; $campo_imagen_nombre = ucwords($campo_imagen_nombre); $campo_imagen = $campo_imagen[0]; } if($tipo=="edit") {$control_edit = "$control";}else {$control_edit = "";} if(isset($_SESSION['id_empresa']) and ($empresa == $_SESSION['id_empresa'] )) { $continuar_editando =" <div class=''> <span class=' checkbox'> <label> <input class='text-success' type = 'checkbox' id ='continuar' name='continuar' value='1'> Continuar editando </label> </span> </div> "; }else {$continuar_editando ="";} $fila=0; while( $row = mysqli_fetch_array( $sql ) ) { if($row['campo_area']=="0"){$area_nombre ="";} else{ $area_nombre = remplacetas('form_areas','id',$row['campo_area'],'nombre','') ; $area_nombre = $area_nombre[0]; } $fila = $fila +1; //$producto = remplacetas('farmacia_cum','id',$row[id_producto],'fabricante_importador') ; ///// para pasar el parametro de medicamentos al formulario no pos se adiciona ".func_get_arg(2)." $campos = formulario_area_campos($perfil,$row['campo_area'],"$control_edit",$ubicacion); if($fila==1) {$activo='active'; $anterior="";}else{$activo=''; $anterior ="<a class='btn btn-default btn-responsive prev ' href='#'><i class='fa fa-backward' aria-hidden='true'></i> Anterior</a>";} if($fila == $cantidad) { $boton=" <div class='row' id='respuesta_$control' name='respuesta_$control' > </div> $continuar_editando <div class='row'> <div class='col-xs-4'> <div calss='input-group'> <span class='input-group-btn'> $anterior </span> </div> </div> <div class='col-xs-4'> <div calss='input-group'> <span class='input-group-btn'> <div onclick=\" xajax_formulario_grabar(xajax.getFormValues('$control'),'');\" class='btn btn-block btn-success'>Grabar</div> </span> </div> </div> <div class='col-xs-4'> <div onclick=\" xajax_limpia_div('muestra_form');\" data-dismiss='modal' class='btn btn-block btn-danger'>Cancelar</div> </div> </div> ";} else{ $boton=" $anterior <a class='btn btn-success btn-responsive next pull-right' href='#'>Siguiente <i class='fa fa-forward' aria-hidden='true'></i></a>"; } if($tipo=='campos') { $boton ="" ; }else{ $boton= $boton;} $resultado_campos .= " <div class='tab-pane fade in $activo ' id='step_$fila'> <div class=''> <legend class='legend-area visible-xs' id='legend_$fila'>$fila. $area_nombre </legend> $campos </div>$boton </div> "; $resultado_solo_campos .= " <fieldset> <legend class='legend-area ' id='legend_$fila'>$fila. $area_nombre </legend> $campos </fieldset> "; $controladores .= " <li class='$activo '> <a href='#step_$fila' data-toggle='tab' data-step='$fila' data-toggle='tooltip' title='$area_nombre' data-placement='top' > <p><span class='area_numero'>$fila.</span><span class='hidden-sm area_nombre'> $area_nombre</span></p> </a> </li> "; } //// botonera form $metadatos = json_encode($metadatos); $muestra_form = " <div id ='div_$control' > <div class='container-fluid' id='myWizard'> <div class='progress'> <div class='progress-bar progress-bar-success' role='progressbar' aria-valuenow='1' aria-valuemin='1' aria-valuemax='$fila' style='width: 10%;'> Paso 1 de $fila </div> </div> <div class='navbar hidden-xs '> <div class='navbar-inner'> <ul class='nav nav-pills nav-justified'> $controladores </ul> </div> </div> <form autocomplete='off' role='form' id='$control' name='$control' class='form-horizontal' autocomplete='off' > <input type='hidden' id='control' name='control' value='$control'> <input type='hidden' id= 'form_id' name= 'form_id' value='$perfil' > <input type='hidden' id= 'form_nombre' name= 'form_nombre' value='$nombre' > <input type='hidden' id= 'tipo' name= 'tipo' value='$tipo' > <input type='hidden' id= 'metadatos' name= 'metadatos' value='$metadatos' > . <div class='tab-content'> $resultado_campos </div> <br> </div> </form> </div> <script type='text/javascript' > $(document).ready(function(){ $('#muestraInfo').on('show.bs.modal', function () { alert('The modal is about to be shown.'); $script; }); }); $('.next').click(function(){ var nextId = $(this).parents('.tab-pane').next().attr('id'); $('[href=#'+nextId+']').tab('show'); return false; }) $('.prev').click(function(){ var prevId = $(this).parents('.tab-pane').prev().attr('id'); $('[href=#'+prevId+']').tab('show'); return false; }) $('a[data-toggle=\"tab\"]').on('shown.bs.tab', function (e) { //update progress var step = $(e.target).data('step'); var percent = (parseInt(step) / $fila ) * 100; $('.progress-bar').css({width: percent + '%'}); $('.progress-bar').text('Paso ' + step + ' de $fila' ); //e.relatedTarget // previous tab }) $('.first').click(function(){ $('#myWizard a:first').tab('show') }) </script> "; //// fin botonera form } //// cierre form if($tipo=='campos') { $resultado = "$resultado_solo_campos $imagen "; return $resultado; } if($tipo=='embebido') { $resultado = "$muestra_form"; return $resultado; } $resultado = "$muestra_form"; return $resultado; /// fin cierre form // $resultado .= "$consulta"; //$respuesta->addAssign($div,"style.display","block"); //$respuesta->addAssign($div,"innerHTML",$resultado); //return $respuesta; //print $muestra_form; // return $muestra_form; } $xajax->registerFunction("formulario_areas"); function tabla_areas($tabla,$value,$descripcion,$onchange,$where,$nombre,$div){ $group =""; if($div =="") { $div="div_campos"; $resultado = " <div class='btn btn-default btn-block btn-warning' onclick= \"xajax_tabla_areas('$tabla','$value','$descripcion','$onchange','$where','$nombre','$div') \">Modificar areas</a></div> <!-- <div id='$div'></div> -->"; return $resultado; } $link=Conectarse(); $campos = explode(",",$descripcion); $campo1 = $campos[0]; $campo2 = $campos[1]; $campo3 = $campos[2]; $campo4 = $campos[3]; $debug = "($tabla,$value,$descripcion,$onchange,$where)"; mysqli_set_charset($link, "utf8"); if(isset($_SESSION['id_empresa'])) {$id_empresa= $_SESSION['id_empresa'];}if($where =='AGRUPADO'){$group="group by $value ";} elseif($where != ''){$w = "AND ".$where;}else{ $w="";} $busca = array("[","]"); if( strpos( $onchange,'[') !== false ){$fila=str_replace($busca,'',$onchange);$onchange='';}; $consulta = "SELECT * FROM $tabla WHERE 1 $w AND id_empresa='$_SESSION[id_empresa]' $group ORDER BY orden "; $sql=mysqli_query($link,$consulta); if($nombre==''){$name=$tabla."_".$value;}else{$name = "$nombre";} $resultado=" <table class='table table-striped table-responsive table-hover' > <legend>$name</legend> <tr ><th>Id</th><th>$campo1</th><th>$campo2</th><th>$campo3</th><th>$campo4</th><th></th></tr> " ; if (mysqli_num_rows($sql)!='0'){ if($onchange !=''){$vacio ="";}else{$vacio ="<option value=''> >> Nuevo $descripcion << </option>";} $linea = 1; while( $row = mysqli_fetch_array( $sql ) ) { $editar_campo1= editar_campo("$tabla",$row['id'],"$campo1","","","",""); $editar_campo2= editar_campo("$tabla",$row['id'],"$campo2","","","",""); $editar_campo3= editar_campo("$tabla",$row['id'],"$campo3","","","",""); $editar_campo4= editar_campo("$tabla",$row['id'],"$campo4","","","",""); $eliminar = "<a onclick=\" xajax_eliminar_campo('$tabla','$row[id]','tr_$row[id]')\"><i class='glyphicon glyphicon-trash'></i> </a>"; $resultado .= "<tr id ='tr_$row[id]'><td>$row[$value]</td><td>$editar_campo1</td><td>$editar_campo2</td><td>$editar_campo3</td><td>$editar_campo4</td><td class='danger'><!-- $eliminar --></td></tr>"; $linea++; } }else{ $resultado = "<div class='alert alert-warning alert_sin_resultados'><i class='glyphicon glyphicon-exclamation-triangle'></i> No hay resultados 0003</div>"; } $resultado .= " <tr class='warning'> <td colspan='4' > <form autocomplete='off' role='form' id='agregar' name='agregar'> <input type='hidden' name='estado' id='estado' value='1'> <input type='hidden' name='orden' id='orden' value='$linea'> <div class='col-xs-2'>Crear Área</div> <div class='col-xs-4'> <input placeholder='$campo1' class='form-control' type='text' id='$campo1' name='$campo1' > </div> <div class='col-xs-5'> <input placeholder='$campo2' class='form-control' type='text' id='$campo2' name='$campo2' > </div> <div class='col-xs-1'> <div class='btn btn-default btn-success' onclick=\"xajax_insertar_campo_area('$tabla',xajax.getFormValues('agregar')); \"><i class='glyphicon glyphicon-floppy-disk'></i></div> </div> </form> </td> </tr> </table> "; //return $resultado; //$respuesta = new xajaxResponse('utf-8'); $respuesta = new xajaxResponse('utf-8'); $respuesta->addAssign("$div","innerHTML","$resultado"); return $respuesta; } $xajax->registerFunction("tabla_areas"); function importar_coleccion($form){ $div ="confirmar_importacion"; //$archivos = listado_archivos("$form[path]"); //$archivos = listar_archivos("$form[path]",'cantidad','',$form); $directorio = opendir("$form[path]"); //ruta actual $resultado = " "; while ($archivo = readdir($directorio)) //obtenemos un archivo y luego otro sucesivamente { if (is_dir($archivo))//verificamos si es o no un directorio { // $resultado .= "[".$archivo . "]<br />"; //de ser un directorio lo envolvemos entre corchetes } else {$autor=""; $ext = explode(".", $archivo); $ext = strtolower($ext[count($ext) - 1]); if ($ext == "jpeg") {$ext = "jpg"; } if ($ext == "jpg") { $cantidad_imagenes++ ; $exif = leer_exif("$form[path]/$archivo"); //$name = $exif['exif']['FileName']." ".$form['38']['0']."*" ; $form['0']['0'] = "$archivo"; $autor= $exif['exif']['Artist']; $creator = $form['40'][0]; if($autor !="" ) { $remplazo = array('40' => array("$autor")); }else{ $remplazo; } } //$form = array_replace_recursive($form, $reemplazo); $resultado .= $archivo ." / $name ".$form['0'][0]."<br />"; } } /* foreach($form as $c=>$v){ //LISTA ELEMENTOS DE UN ARRAY if (is_array($v) ){ foreach($v as $C=>$V){ $campo .= "( $c : $V )<br> "; if($V != '') { } } } } */ //$resultado="$archivos $campo"; $respuesta = new xajaxResponse('utf-8'); $respuesta->addAssign("$div","innerHTML","$resultado"); return $respuesta; } $xajax->registerFunction("importar_coleccion"); function listar_archivos( $path ,$opcion, $div,$datos){ // Abrimos la carpeta que nos pasan como parámetro $resultado =""; //$link = Conectarse(); $dir = opendir($path); $cantidad =0; $cantidad_imagenes =0; //$datos['61'] = array ( 0 => "otro valor");//"OTRO VALOR"; if(is_file($path)) {$esarchivo="Escriba la ruta a un directorio en el servidor<br>"; } // Leo todos los ficheros de la carpeta //if($esarchivo =="") { // $elemento = readdir($dir); //} while ($elemento = readdir($dir) ){ // Tratamos los elementos . y .. que tienen todas las carpetas if( $elemento != "." && $elemento != ".."){ // Si es una carpeta if( is_dir($path.$elemento) ){ // Muestro la carpeta // $resultado .= "<p><strong>CARPETA: ". $elemento ."</strong></p>"; // Si es un fichero } else { $ext = explode(".", $elemento); $ext = strtolower($ext[count($ext) - 1]); if ($ext == "jpeg") {$ext = "jpg"; } if ($ext == "jpg") {$cantidad_imagenes++ ; $exif = leer_exif("$path/$elemento"); $name = $exif['exif']['FileName']; $title= "$name "; $date= $exif['exif']['DateTimeOriginal']; $autor= $exif['exif']['Artist']; if(!isset($autor)) { $autor = $datos['40'][0]; } $licencia= $exif['exif']['Copyright']; if($licencia ==="") { } else{ // $datos['61'][0]= " XX $licencia XXX"; } //$datos['61'][0] = $licencia; if(isset($exif['exif']['UndefinedTag:0xC4A5'])) { $exif['exif']['UndefinedTag:0xC4A5']= base64_encode($exif['exif']['UndefinedTag:0xC4A5']); } if(isset($exif['exif']['MakerNote'])) { $exif['exif']['MakerNote']= base64_encode($exif['exif']['MakerNote']); } if ( $exif['lon'] =="" ) { $geo = $datos['58'][0]; $mundo =""; $datos['58'][0] = $datos['58'][0]; } else { $geo = "$exif[lon] $exif[lat] 18" ;//$datos['58'][0]; $mundo ="<i class='glyphicon glyphicon-globe'></i>"; $datos['58'][0]= "$geo"; } // $remplazos = array('40'); // else { $mapa="";} //$json = json_encode($exif['exif'],JSON_PRETTY_PRINT); //if ( $exif['lon'] =="" ){$datos['58'][0] = $geo;}else {$datos['58'][0] = $datos['58'][0];} $resultado .= "<li>$geo $mundo / ".$datos['58'][0]." ".$datos['999'][0]." $title / $autor / ".$datos['61'][0]." ".$datos['68'][0]."</li>"; } $cantidad ++; $campo .= ""; } } } if($div !="" ) { if($opcion == "cantidad") { $resultado = " <div class='alert alert-warning'> $esarchivo <i class='glyphicon glyphicon-file'></i> <strong>$cantidad</strong> archivos, <i class='glyphicon glyphicon-picture-o'></i> <strong> $cantidad_imagenes </strong> imágenes jpg, <i class='glyphicon glyphicon-globe'></i> <strong>$mapa</strong> georeferenciadas </div> <div id='div_resultado' style='max-height: 100px; overflow:auto'> <ol> $resultado </ol> </div>"; } $respuesta = new xajaxResponse('utf-8'); $respuesta->addAssign("$div","innerHTML","$resultado"); return $respuesta; }else { return " $campo $resultado"; } } $xajax->registerFunction("listar_archivos"); // Convertir un string "1/123" a su representación float function exif_float($value) { $pos = strpos($value, '/'); if ($pos === false) return (float) $value; $a = (float) substr($value, 0, $pos); $b = (float) substr($value, $pos+1); return ($b == 0) ? ($a) : ($a / $b); } function leer_exif($file){ //$file = "/var/www/html/milfs/images/gps.jpg"; $exif = exif_read_data( "$file" ); $resultado['exif'] = $exif; $resultado['file']= $file; $resultado['FileName']=$exif['FileName']; if($exif === false) { //return false; } if ( !empty($exif['GPSLongitude']) && !empty($exif['GPSLatitude']) ) { $d = (float) $exif['GPSLongitude'][0]; $m = exif_float($exif['GPSLongitude'][1] ); $s = exif_float( $exif['GPSLongitude'][2] ); $gps_longitude = (float)$d + $m/60 + $s/3600; if ( $exif['GPSLongitudeRef'] == 'W') $gps_longitude = -$gps_longitude; $d = $exif['GPSLatitude'][0]; $m = exif_float($exif['GPSLatitude'][1] ); $s = exif_float( $exif['GPSLatitude'][2] ); $gps_latitude = (float)$d + $m/60 + $s/3600; if ( $exif['GPSLatitudeRef'] == 'S') $gps_latitude = -$gps_latitude; if($gps_latitude !='') { $resultado['lat'] = $gps_latitude; $resultado['lon'] = $gps_longitude; //$resultado = "$_SESSION[url]/mapa.php?lon=$gps_latitude&lat=$gps_longitude&zoom=18"; }else{} } $resultado['DateTime'] = $exif['DateTimeOriginal']; $resultado['estado'] = "oK"; //$resultado = "$gps_longitude $gps_latitude"; return $resultado; } function relacion_render($form_id,$id_campo,$valor,$cantidad,$plantilla){ $valor_actual = ""; $claves = remplacetas("form_campos_valores","id_form_campo","$id_campo","campo_valor",""); $claves = $claves[0]; $claves = explode(' ',$claves); $formulario = explode(':',$claves[0]) ; $formulario = $formulario[1]; $key = explode(':',$claves[1]) ; $key = $key[1]; $limit = explode(':',$claves[2]) ; $limit = $limit[1]; if($limit=='0' or $limit ==''){$limit = "LIMIT $limit";} else {$limit = "";} if($valor !="") { if($plantilla =="") {$plantilla= "relacion";} $valor_actual = contenido_mostrar("$formulario",$valor,'',"$plantilla"); if($plantilla == 'relacion_drop') { $link ="";} else{ $link = "<a href = 'i$valor' target='referencia'>Ver referencia</a> "; } } return " $valor_actual $link"; $div ="div_relacion_$name"; $consulta = "SELECT DISTINCT contenido, control FROM form_datos WHERE form_id ='$formulario' and id_campo ='$key' GROUP BY control $limit "; if($name =="") { //return "$valor_actual"; } $link=Conectarse(); mysqli_set_charset($link, "utf8"); $sql=mysqli_query($link,$consulta); if (mysqli_num_rows($sql)!='0'){ $onchange = " xajax_contenido_mostrar('$formulario',(this.value),'$div','relacion')"; $resultado=" <SELECT class='form-control' NAME='$name' id='$name' onchange=\"$onchange\" > <option value=''>Seleccione </option> " ; while( $row = mysqli_fetch_array( $sql ) ) { if($row[control] == "$valor") { $selected = "selected"; }else{ $selected = "";} $resultado .= "<option value='$row[control]' $selected > $row[contenido]</option>"; } $resultado .= "</select> <div id='$div'>$valor_actual</div>"; }else{$resultado = "<div class='alert alert-warning alert_sin_resultados'><i class='glyphicon glyphicon-exclamation-triangle'></i> No hay resultados 0004 </div>";} return $resultado; } $xajax->registerFunction("relacion_render"); function buscador_base($id_campo,$form_id,$valor,$name,$control,$tipo){ $div ="div_buscador_base_$name"; $onchange = " xajax_buscador_select_base('$id_campo','$form_id',(this.value),'$name','$control','$tipo'); document.getElementById('$name').value='';"; $onclick = " xajax_buscador_select_base('$id_campo','$form_id','','$name','$control','$tipo'); document.getElementById('$name').value=''; (this).value='';"; $resultado =" <input class='form-control' name='buscador_base_$name' id='buscador_base_$name' onclick= \"$onclick \" onkeyup=\"$onchange\" > <input type='hidden' class='form-control' name='$name' id='$name' > <div id='$div'></div>"; return $resultado; } $xajax->registerFunction("buscador_base"); function buscador_select_base($id_campo,$form_id,$valor,$name,$control,$tipo){ $div ="div_buscador_base_$name"; $resultado=""; $where=""; $respuesta = new xajaxResponse('utf-8'); if($valor=="") { $resultado=""; $respuesta->addAssign("$div","innerHTML","$resultado"); return $respuesta; } $link=Conectarse(); mysqli_set_charset($link, "utf8"); $claves = remplacetas("form_campos_valores","id_form_campo","$id_campo","campo_valor",""); $consulta=$claves; $claves_original ="$claves[0]"; $claves = $claves[0]; $claves = explode(' ',$claves); $tabla = explode(':',$claves[0]) ; $tabla = $tabla[1]; $key = explode(':',$claves[1]) ; $key = $key[1]; $descripcion1 = explode(':',$claves[2]) ; $descripcion1 = $descripcion1[1]; $descripcion2 = explode(':',$claves[3]) ; $descripcion2 = $descripcion2[1]; $descripcion3 = explode(':',$claves[4]) ; $descripcion3 = $descripcion3[1]; if(isset($claves[5] )){ $crue = explode(':',$claves[5]) ; //$crue = $crue[1]; if($crue[1] !=""){ $sentencia=str_replace('_'," ",$crue[1]); $where = "AND $sentencia ";} } if($valor !="") { //$valor_actual = contenido_mostrar("$formulario",$valor,'','5'); } $consulta = "SELECT * FROM $tabla WHERE $descripcion1 like '%%$valor%%' $where GROUP BY $key limit 50 "; $sql=mysqli_query($link,$consulta); if (mysqli_num_rows($sql)!='0'){ while( $row = mysqli_fetch_array( $sql ) ) { //$campo_descripcion= remplacetas("form_datos","control","$row[control]","contenido"," id_campo = '$descripcion' "); //$campo_key= remplacetas("form_datos","control","$row[control]","contenido"," id_campo = '$key' "); if(@$row['control'] == "$valor") { $selected = "selected"; }else{ $selected = "";} $resultado .= "<li><a onclick=\" document.getElementById('$name').value='$row[$key]'; document.getElementById('buscador_base_$name').value='$row[$descripcion1] $row[$descripcion2] $row[$descripcion3] '; xajax_limpia_div('$div') \"> <strong>$row[$descripcion1]</strong> $row[$descripcion2] $row[$descripcion3]</a> </li>"; } $resultado .= " <div id='$div'></div>"; }else{$resultado = "<div class='alert alert-warning alert_sin_resultados'><i class='glyphicon glyphicon-exclamation-triangle'></i> <a href='$crue[1]' target ='crear'>No hay datos <strong>Crear Nuevo</strong></a></div>";} $respuesta->addAssign("$div","innerHTML","$resultado"); return $respuesta; } $xajax->registerFunction("buscador_select_base"); function buscador_campo($id_campo,$form_id,$valor,$name,$control,$tipo){ $div ="div_buscador_$name"; //$onchange = " delay(xajax_buscador_select('$id_campo','$form_id',(this.value),'$name','$control','$tipo'),'10500'); document.getElementById('$name').value='';"; //$onchange = " delay(xajax_buscador_select('$id_campo','$form_id',(document.getElementById('buscador_$name').value),'$name','$control','$tipo'),'10500'); document.getElementById('$name').value='';"; $claves = remplacetas("form_campos_valores","id_form_campo","$id_campo","campo_valor",""); $claves= $claves[0]; //$onchange = " delayFunction(function() { javascript:xajax_buscador_select('$id_campo','$form_id',(document.getElementById('buscador_$name').value),'$name','$control','$claves')},0); ; document.getElementById('$name').value='';"; $onchange = "javascript:xajax_buscador_select('$id_campo','$form_id',(document.getElementById('buscador_$name').value),'$name','$control','$claves'); ; document.getElementById('$name').value='';"; $onclick = " xajax_buscador_select('$id_campo','$form_id','','$name','$control','$tipo'); document.getElementById('$name').value=''; (this).value='';"; $resultado =" <input class='form-control' name='buscador_$name' id='buscador_$name' onclick= \"$onclick \" onkeyup=\"$onchange\" > <input type='hidden' class='form-control' name='$name' id='$name' > <div class='text-left container-fluid alert-info' style='position:absolute !important; padding;5px; z-index:1500 !important;'><div id='$div' ></div>$valor</div> "; return $resultado; } $xajax->registerFunction("buscador_campo"); function imprimir_buscador_campo($id_campo,$valor,$plantilla) { $campo1=array(); $campo2=array(); $claves = remplacetas("form_campos_valores","id_form_campo","$id_campo","campo_valor",""); $consulta=$claves; $claves = $claves[0]; $claves = @explode(' ',$claves); $formulario = explode(':',$claves[0]) ; $formulario = @$formulario[1]; $key = @explode(':',$claves[1]) ; $key = @$key[1]; $descripcion = @explode(':',$claves[2]) ; if(isset($descripcion[1])){$descripcion = $descripcion[1]; $campo2 = remplacetas("form_datos","control","$valor","contenido","form_id = '$formulario' AND id_campo = '$descripcion' "); }else{$campo2[0] ="";} $campo1 = remplacetas("form_datos","control","$valor","contenido","form_id = '$formulario' AND id_campo = '$key' "); $imprimir = @"<strong>$campo1[0] $campo2[0]"; if($plantilla =="") {$plantilla= "buscador";} $valor_actual = contenido_mostrar("$formulario",$valor,'',"$plantilla"); if($plantilla == 'buscador_drop') { $link ="";} elseif($plantilla == '') { $link = "<a href = 'i$valor' target='referencia'>Ver referencia</a> "; }else{$link="";} return "$valor_actual $link"; } function imprimir_buscador_campo_key($id_campo,$valor) { $claves = remplacetas("form_campos_valores","id_form_campo","$id_campo","campo_valor",""); $consulta=$claves; $claves = $claves[0]; $claves = explode(' ',$claves); $formulario = explode(':',$claves[0]) ; $formulario = $formulario[1]; $key = explode(':',$claves[1]) ; $key = $key[1]; $descripcion = explode(':',$claves[2]) ; $descripcion = $descripcion[1]; $campo1 = remplacetas("form_datos","control","$valor","contenido","form_id = '$formulario' AND id_campo = '$key' "); $campo2 = remplacetas("form_datos","control","$valor","contenido","form_id = '$formulario' AND id_campo = '$descripcion' "); $imprimir ="$campo1[0]"; return $imprimir; } function imprimir_base($id_campo,$valor) { $claves = remplacetas("form_campos_valores","id_form_campo","$id_campo","campo_valor",""); $consulta=$claves; $claves = $claves[0]; $claves = explode(' ',$claves); $formulario = explode(':',$claves[0]) ; $formulario = $formulario[1]; $key = explode(':',$claves[1]) ; $key = $key[1]; $descripcion = explode(':',$claves[2]) ; $descripcion = $descripcion[1]; $descripcion2 = explode(':',$claves[3]) ; $descripcion2 = $descripcion2[1]; $campo1 = remplacetas("$formulario","$key","$valor","$descripcion",""); $campo2 = remplacetas("$formulario","$key","$valor","$descripcion2",""); $imprimir ="$campo1[0] $campo2[0]"; return $imprimir ; } function buscador_select($id_campo,$form_id,$valor,$name,$control,$claves){ $div ="div_buscador_$name"; $lista=""; $resultado=""; $aviso=""; $cantidad= 3; $respuesta = new xajaxResponse('utf-8'); if(strlen($valor) < $cantidad+1) { $respuesta->addAssign("$div","innerHTML","<span class='blink'>... </span> Esperando mas de $cantidad caracteres"); return $respuesta; } if($valor=="") { $resultado=""; $respuesta->addAssign("$div","innerHTML","$resultado"); return $respuesta; } $link=Conectarse(); mysqli_set_charset($link, "utf8"); //$claves = remplacetas("form_campos_valores","id_form_campo","$id_campo","campo_valor",""); //$consulta=$claves; //$claves = $claves[0]; $claves = explode(' ',$claves); $formulario = explode(':',$claves[0]) ; $formulario = $formulario[1]; $key = explode(':',$claves[1]) ; $key = $key[1]; $descripcion = explode(':',$claves[2]) ; $descripcion = $descripcion[1]; $limite='50'; // $publico = remplacetas('form_id','id',"$formulario",'modificable',"") ; // $propietario = remplacetas('form_id','id',$formulario,'propietario',"") ; if($valor !="") { //$valor_actual = contenido_mostrar("$formulario",$valor,'','5'); } //$consulta_paginacion = "SELECT control FROM form_datos WHERE contenido LIKE '%%$valor%%' and form_id ='$formulario' and ( id_campo ='$key' OR id_campo = '$descripcion' ) GROUP BY control "; //$consulta = "SELECT contenido, control FROM form_datos WHERE form_id ='$formulario' and (id_campo ='$key' OR id_campo ='$descripcion' )AND contenido like '%%$valor%%' GROUP BY control limit 15 "; $consulta = "SELECT contenido, control ,id_campo FROM form_datos WHERE contenido LIKE '$valor%%' and form_id ='$formulario' and ( id_campo ='$key' OR id_campo = '$descripcion' ) GROUP BY control limit $limite "; $sql=mysqli_query($link,$consulta); //$sql_paginacion=mysqli_query($link,$consulta_paginacion); //$cantidad = mysqli_num_rows($sql_paginacion); if (mysqli_num_rows($sql)!='0'){ // if($limite < $cantidad) { $alert="warning"; $aviso ="Mostrando $limite de $cantidad registros";}else { $alert="success";} while( $row = mysqli_fetch_array( $sql ) ) { $campo_descripcion= remplacetas("form_datos","control","$row[control]","contenido"," id_campo = '$descripcion' "); $campo_descripcion[0] = trim($campo_descripcion[0]); $campo_key= remplacetas("form_datos","control","$row[control]","contenido"," id_campo = '$key' "); if($row['control'] == "$valor") { $selected = "selected"; }else{ $selected = "";} $lista.= "<a class='list-group-item btn-link' onclick=\" document.getElementById('$name').value='$row[control]'; document.getElementById('buscador_$name').value='$campo_key[0] - $campo_descripcion[0]'; xajax_limpia_div('$div') \"> <strong>$campo_key[0]</strong> $campo_descripcion[0] </a> "; } $resultado .= " <ul class=' list-group' style='max-height:300px; overflow:auto;' > $lista </ul> <div id='$div' ></div> <div class='text-$alert'>$aviso</div> "; } else{ // if($publico[0] == '0' AND $propietario[0] != $_SESSION['id']){$agregar ="";}else{$agregar ="<a class='btn btn-default ' href='../g$formulario' target='formulario'>Agregar nuevo registro</a>";} $resultado = "<div class='alert alert-warning alert_sin_resultados'><i class='glyphicon glyphicon-exclamation-triangle'></i> No hay resultados para <strong>$valor</strong> $agregar</div>";} $respuesta->addAssign("$div","innerHTML","$resultado"); return $respuesta; } $xajax->registerFunction("buscador_select"); function relacion_select($id_campo,$form_id,$valor,$name,$control,$tipo){ $link=Conectarse(); $valor_actual =""; mysqli_set_charset($link, "utf8"); $claves = remplacetas("form_campos_valores","id_form_campo","$id_campo","campo_valor",""); $claves = $claves[0]; $claves = explode(' ',$claves); $formulario = explode(':',$claves[0]) ; $formulario = $formulario[1]; $key = explode(':',$claves[1]) ; $key = $key[1]; $limit = explode(':',$claves[2]) ; $limit = $limit[1]; if($limit=='0' or $limit ==''){$limit = "";} else {$limit = "LIMIT $limit";} if($valor !="") { $valor_actual = contenido_mostrar("$formulario",$valor,'','5'); } $div ="div_relacion_$name"; $consulta = "SELECT contenido, control FROM form_datos WHERE form_id ='$formulario' and id_campo ='$key' GROUP BY control $limit "; if($name =="") { //return "$valor_actual"; } $sql=mysqli_query($link,$consulta); if (mysqli_num_rows($sql)!='0'){ $onchange = " xajax_contenido_mostrar('$formulario',(this.value),'$div','relacion')"; $resultado=" <SELECT class='form-control' NAME='$name' id='$name' onchange=\"$onchange\" > <option value=''>Seleccione </option> " ; while( $row = mysqli_fetch_array( $sql ) ) { if($row['control'] == "$valor") { $selected = "selected"; }else{ $selected = "";} $resultado .= "<option value='$row[control]' $selected > $row[contenido]</option>"; } $resultado .= "</select> <div id='$div'>$valor_actual</div>"; }else{$resultado = "<div class='alert alert-warning alert_sin_resultados'><i class='glyphicon glyphicon-exclamation-triangle'></i> No hay resultados 0006</div>";} return $resultado; } $xajax->registerFunction("relacion_select"); function combo_select($id_campo,$form_id,$valor,$name,$control,$control_combo){ $selected=""; $onchange=""; $and=""; $link=Conectarse(); mysqli_set_charset($link, "utf8"); if($control_combo !="") { $div ="combo_$name"; $and ="AND campo_valor LIKE '$control_combo:%%'"; }else{ $onchange ="xajax_combo_select('$id_campo','$valor','$valor','$name','$control',(this.value)) "; $div ="combo_$name"; $name ="primario_$name"; } $consulta = "SELECT * FROM form_campos_valores WHERE id_form_campo ='$id_campo' $and "; $sql=mysqli_query($link,$consulta); // $value = remplacetas("form_datos","control","$control","contenido","id_campo ='$id_campo' "); if (mysqli_num_rows($sql)!='0'){ $resultado=" $valor<SELECT class='form-control' NAME='$name' id='$name' onchange=\"$onchange\" > <option value=''>Seleccione </option> " ; // $resultado = array_unique($entrada); while( $row = mysqli_fetch_array( $sql ) ) { $campos = explode(':',$row['campo_valor']); IF($control_combo ==""){ $campo_primario[]=$campos[0]; $campo_primario = array_unique($campo_primario); } else { $campo_primario[] = "$campos[0] $campos[1]"; } //$identificador = $identificador[0]; //if($row[campo_valor] ==="$valor"){$selected="selected";}else{$selected ="";} //$resultado .= "<option value='$row[campo_valor]' $selected > $campos[0]</option>"; } foreach($campo_primario as $C=>$V){ $resultado .= "<option value='$V' $selected >$V </option>"; } $resultado .= "</select> <div id='$div'></div>"; }else{$resultado = "<div class='alert alert-warning alert_sin_resultados'><i class='glyphicon glyphicon-exclamation-triangle'></i> No hay resultados 0007</div>";} if($control_combo =='') { return $resultado; } else{ $respuesta = new xajaxResponse('utf-8'); $respuesta->addAssign("$div","innerHTML","$resultado"); return $respuesta; } } $xajax->registerFunction("combo_select"); function aplicacion_carrusel($id,$registros,$pagina,$tipo,$orden,$plantilla){ $form=$id; $campo = buscar_campo_tipo($id,"15"); $id_campo = $campo[0]; if($id_campo[0] =="") { $mensaje="<div class='alert danger' style='color:white;'>La aplicación no tiene imágenes</div>"; return $mensaje; } /* $descripcion = remplacetas('form_id','id',$id,'descripcion',"") ; $descripcion = $descripcion[0]; $campo_titulo = remplacetas('form_parametrizacion','campo',$id,'descripcion'," tabla='form_id' and opcion = 'titulo'") ; if($campo_titulo[0] !='') {$w_campo = "AND id_campo = '$campo_titulo[0]'";} $campo_titulo = $campo_titulo[0]; */ $consulta_principal ="SELECT *,GROUP_CONCAT(id ORDER by timestamp desc ) as identificador FROM form_datos WHERE form_id = '$id' $w_campo GROUP BY control order by id DESC "; $link=Conectarse(); $sql_total=mysqli_query($link,$consulta_principal); $total_registros = mysqli_num_rows($sql_total);//formulario_contar($id_form); if($registros=="") { $registros="$total_registros"; $origen="url";} /// PAGINACION if ($pagina =='') {$inicio = 0; $pagina = 1; } else { $inicio = ($pagina - 1) * $registros;} if($total_registros < $registros) { $limite ="";} else{$limite =" LIMIT $inicio , $registros ";} $consulta_limite = $consulta_principal.$limite; mysqli_real_escape_string($link,$consulta_limite); $sql=mysqli_query($link,$consulta_limite); //$sql=mysqli_query($link,"$consulta $w_limite"); // $cantidad = mysqli_num_rows($sql); if (mysqli_num_rows($sql)!='0'){ /////// FILTRO //$fecha = time (); // $ahora = date ( "Y-m-d" , $fecha ); // $campos = listar_campos_formulario($id_form,"select"); $link = ""; // $page = $_GET['page']; $page= $pagina; @$pages= ceil($total_registros / $registros); //13; // Hardcoded for testing purpose $limit=10 ; if ($pages >=1 && $page <= $pages) { $counter = 1; $link = ""; if (($page -1) > 0) { if(isset($_REQUEST[registros])) { $href_1 = "$origen®istros=$registros&pagina=1&orden=$orden"; $href_2 = "$origen®istros=$registros&pagina=".($pagina-1)."&orden=$orden"; } else { $href_1= "#cabecera#"; $href_2= "#cabecera#"; } //consultar_contenido_formulario($form,$registros,$pagina,$tipo,$orden,$plantilla) ///aplicacion_carrusel($tipo,$id,$plantilla,$datos,$pagina,$registros) ///aplicacion_carrusel('','$id',$plantilla,'$orden','1','$registros') $link .= "<li><a href='$href_1' title='Cambiar a grupo 1' onClick=\"xajax_aplicacion_carrusel('$form','$registros','1','','$orden','$plantilla');\' style='cursor:pointer'><i class='glyphicon glyphicon-step-backward'></i></a> </li> <li><a href='$href_2' title='Cambiar a grupo ".($pagina-1)."' onClick=\"xajax_aplicacion_carrusel('$form','$registros','".($pagina-1)."','','$orden','$plantilla');\" style='cursor:pointer'><i class='glyphicon glyphicon-backward'></i></a> </li>"; } for ($x=$page; $x<=$pages;$x++) { if($counter < $limit){ if(isset($_REQUEST['registros'])) { $href_3 = "$origen®istros=$registros&pagina=$x&orden=$orden"; } else { $href_3= "#cabecera#"; } if ($page == $x){ $link .= "<li class='active'><a href='$href_3' title='Cambiar a grupo $x' onClick=\"xajax_aplicacion_carrusel('$form','$registros','$x','','$orden','$plantilla');\" style='cursor:pointer'>$x</a> </li>"; }else{ $link .= "<li class=''><a href='$href_3' title='Cambiar a grupo $x' onClick=\"xajax_aplicacion_carrusel('$form','$registros','$x','','$orden','$plantilla');\" style='cursor:pointer'>$x</a> </li>"; } } $counter++; } if ($page < ($pages - ($limit/2))) { if(isset($_REQUEST['registros'])) { $href_4 = "$origen®istros=$registros&pagina=".($pagina+1)."&orden=$orden"; $href_5 = "$origen®istros=$registros&pagina=$pages&orden=$orden"; } else { $href_4= "#cabecera#"; $href_5= "#cabecera#"; } $link .= "<li><a href='$href_4' title='Cambiar a grupo ".($pagina+1)."' onClick=\"xajax_aplicacion_carrusel('$form','$registros','".($pagina+1)."','','$orden','$plantilla');\" style='cursor:pointer'><i class='glyphicon glyphicon-forward'></i></a></li> <li class=''><a href='$href_5' title='Cambiar a grupo $pages' onClick=\"xajax_aplicacion_carrusel('$form','$registros','$pages','','$orden','$plantilla');\" style='cursor:pointer'><i class='glyphicon glyphicon-step-forward'></i> </a></li>"; } } $paginacion = "<ul class='pagination '>$link</ul>"; $encabezado = " <div class='row' id='botonera'> <div class='col-sm-12'> <div class='text-center center-block'> <p>Los resultados se muestras en grupos de $registros registros</p> <ul class='pagination'> <li role='presentation'><span>$total_registros registros</span></li> </ul> $paginacion </div> </div> </div> "; // $total_registros = mysqli_num_rows($sql); /* $nombres_campos = listar_campos_formulario("$id_form","nombres"); foreach($nombres_campos as $campo_nombre=>$nombre){ $listado_nombres .= "<th>$nombre</th>"; } */ // $listado_nombres = "<tr><th class='actions' ></th><th>Identificador</th><th></th>$listado_nombres </tr>"; ///$listado_campos = listar_campos_formulario("$id_form",''); //$descripcion = remplacetas('form_id','id',$id_form,'descripcion','') ; //$descripcion_limpia = strip_tags($descripcion[0]); ///$nombre = remplacetas('form_id','id',$id_form,'nombre','') ; //$cabecera="<hr> $nombre[0] $descripcion[0]"; mysqli_data_seek($sql_total, 0); $ordenado = 0; $con_plantilla = remplacetas('form_parametrizacion','campo',$form,'descripcion'," tabla='form_id' and opcion = 'plantilla:$plantilla'") ; $campo_titulo = remplacetas('form_parametrizacion','campo',$form,'descripcion'," tabla='form_id' and opcion = 'titulo'") ; //$titulo = remplacetas('form_datos','id_campo',$campo_titulo[0],'contenido'," control = '$row[control]' ") ; if($campo_titulo[0] !="") { $campo_nombre= $campo_titulo[0]; } else { $campo_nombre = formulario_campo_semantico("nombre","$form",'preciso',''); //$titulo = remplacetas('form_datos','control',$row['control'],'contenido',"id_campo = '$campo_nombre'") ; } //$con_plantilla = $con_plantilla[0]; while( $row = mysqli_fetch_array( $sql ) ) { $identificador = explode(',',$row['identificador']); $identificador = $identificador[0]; if($ordenado === 0) {$activo = "active";}else{$activo="";} $contenido_desplegado = contenido_mostrar("$row[form_id]","$row[control]",'',"$plantilla"); $imagen = remplacetas('form_datos','control',$row['control'],'contenido',"id_campo = '$id_campo'") ; if( $con_plantilla[0] =="" AND $id_campo !="") { $titulo = remplacetas('form_datos','control',$row['control'],'contenido',"id_campo = '$campo_nombre'") ; $contenido_desplegado =" <div class='lazy' style=' min-height: 500px; height: 500px; background-image: url($_SESSION[url]images/secure/?file=600/$imagen[0]); background-position: center center; background-size: contain; background-repeat:no-repeat; ' class='carrousel_item'> <div class='center-block text-center' style=' '> <div class='carousel-caption d-none d-md-block'> <h2> $titulo[0]</h2> <small>$campo_limpio[562]</small> </div> </div> </div> "; } $items .= " <div class='item $activo' style='max-height: 600px;' > $contenido_desplegado </div>"; $indicadores .= "<div><img class='lazy' height='50px' width='100px' data-src='$_SESSION[url]images/secure/?file=150/$imagen[0]' src='' ></div>"; $titulo = remplacetas('form_datos','id',$identificador,'contenido',"") ; //$contenido .= "$contenido_desplegado "; $ordenado = ($ordenado +1 ); } $items .= " <div class='item $activo' style='max-height: 600px;' > <a href='$href_4' title='Mostrar mas' onClick=\"xajax_aplicacion_carrusel('$form','$registros','".($pagina+1)."','','$orden','$plantilla');\" style='cursor:pointer'> <i style='font-size:400px;' class=' fa fa-plus-square-o'></i></a> </div>"; $indicadores .= "<div> </div>"; $scripts =" <script type='text/javascript'> $(document).on('ready', function() { $('.lazy').slick({ lazyLoad: 'ondemand', slidesToShow: 3, slidesToScroll: 1 }); $('.slider-for1').slick({ slidesToShow: 1, slidesToScroll: 1, fade: true, asNavFor: '.slider-nav1' }); $('.slider-nav1').slick({ slidesToShow: 3, slidesToScroll: 1, asNavFor: '.slider-for1', adaptiveHeight:true, centerMode: true, focusOnSelect: true, responsive: true, arrows: false, variableWidth:true }); }); </script> "; $carrusel=" <div class='slider slider-nav1'> $indicadores </div> <div class='slider slider-for1'> $items </div> $scripts "; $contenido = " <div id= '$div'>$carrusel</div>"; }else {} if($tipo =="") { // $respuesta->addAssign("contenido_interior","innerHTML","$div_contenido"); $respuesta = new xajaxResponse('utf-8'); $respuesta->addAssign("mostrar_carrusel","innerHTML","$contenido"); $respuesta->addScript(" $('.slider-for1').slick({ slidesToShow: 1, slidesToScroll: 1, fade: true, asNavFor: '.slider-nav1' }); $('.slider-nav1').slick({ slidesToShow: 3, slidesToScroll: 1, asNavFor: '.slider-for1', adaptiveHeight:true, centerMode: true, focusOnSelect: true, responsive: true, arrows: false, variableWidth:true }); "); return $respuesta; } elseif($tipo =="contenido" OR $tipo =="embebido" ) { return $contenido; } } $xajax->registerFunction("aplicacion_carrusel"); function formulario_embebido($id,$opciones){ $publico = remplacetas('form_id','id',"$id",'modificable',"") ; $propietario = remplacetas('form_id','id',$id,'propietario',"") ; $empresa = remplacetas('form_id','id',$id,'id_empresa',"") ; if($publico[0] =="0" AND @$_SESSION['id_empresa'] != $empresa[0] AND $propietario[0] != @$_SESSION['control_usuario_milfs'] ) { $resultado = "<div class='text-warning text-center' title='NO tiene permiso para agregar datos esta aplicación'><p> <i class='glyphicon glyphicon-key'></i></p></div>"; //$respuesta->addAssign("titulo_modal","innerHTML","$cabecera"); // $respuesta->addAssign("muestra_form","innerHTML","$resultado"); $pie = empresa_datos("$empresa[0]",'pie'); //$respuesta->addscript("$('#muestraInfo').modal('toggle')"); return $resultado; } //$impresion = formulario_modal("$id",$form_respuesta,$control,"embebido"); //($perfil,$tipo,$form_respuesta,$control_respuesta) $impresion = formulario_areas('',$id,"embebido",'','','',''); $formulario_nombre = remplacetas('form_id','id',$id,'nombre','') ; $formulario_descripcion = remplacetas('form_id','id',$id,'descripcion','') ; //$visitas= contar_visitas($id,'formulario') ; $muestra_form = " <style> fieldset.fieldset-borde { border: 2px solid #EDEDED !important; border-radius:3px; padding: 0 1.4em 1.4em 1.4em !important; margin: 0 0 1.5em 0 !important; -webkit-box-shadow: 0px 0px 0px 0px #000; box-shadow: 0px 0px 0px 0px #000; } legend.legend-area { font-size: 1.2em !important; font-weight: bold !important; text-align: left !important; width:auto; padding:0 10px; border-bottom:none; } /* background-image: url(milfs/images/iron.jpg); */ </style> <!-- <div style='width;100%; min-height:900px; padding: 0.3%; background-attachment:fixed; background-color: gray ;'> --> <div style=''> <div class='container-fluid' style=' border-radius:3px; box-shadow: 2px 2px 5px #999; overflow:no;' id='contenedor_datos' > <h1 class='formulario_nombre'>$formulario_nombre[0]<br><small class='formulario_descripcion'>$formulario_descripcion[0] </h1> $impresion </div> <br> <div> "; return $muestra_form ; } function formulario_embebido_ajax($datos,$id,$opciones,$tipo){ $respuesta = new xajaxResponse('utf-8'); $id_empresa = remplacetas('form_id','id',$id,'id_empresa',"") ; $encabezado = empresa_datos("$id_empresa[0]",'encabezado'); $pie = empresa_datos("$id_empresa[0]",'pie'); $formulario_nombre = remplacetas('form_id','id',$id,'nombre') ; $formulario_descripcion = remplacetas('form_id','id',$id,'descripcion') ; $cerrar= " <button class='btn btn-link ' data-dismiss='modal'>Cerrar</button>"; $cabecera = " <div class='col-xs-2'> <p class='text-center descripcion_aplicacion'>$formulario_nombre[0]<small class='hidden-md hidden-sm hidden-xs ' > $formulario_descripcion[0]</small></p> </div> <div class='col-xs-10 '> $encabezado </div> "; $publico = remplacetas('form_id','id',"$id",'modificable',"") ; $equipo = remplacetas('form_datos','control',$opciones,'equipo',"") ; if($publico[0] =="0" AND $_SESSION[id] =="") { $resultado = " <div class='alert alert-danger'><h1><a href='./milfs/'>Ingresa</a> con tu usuario para agregar datos a esta aplicación. <i class='fa fa-user-circle-o'></i></h1>"; $respuesta->addAssign("titulo_modal","innerHTML","$cabecera"); $respuesta->addAssign("muestra_form","innerHTML","$resultado"); $respuesta->addscript("$('#muestraInfo').modal('toggle')"); return $respuesta; } $propietario = remplacetas('form_id','id',$id,'propietario',"") ; if(isset($_SESSION['permiso_identificador'])) { $permiso_identificador = $_SESSION['permiso_identificador'] ; $salir= "$permiso_identificador <div class='btn btn-danger pull-right btn-small' onclick=\"xajax_autoriza_formulario_mostrar('','',''); \">Salir <i class='glyphicon glyphicon-log-out'></i></div>"; } else{ $permiso_identificador = ""; $salir="";} if($equipo[0] =="" OR is_null($equipo[0]) ) {} else{ if($tipo =='edit' AND ($_SESSION['equipo'] !== $equipo[0] )){ $aviso = "<div class='alert alert-warning text-center '> <h1><i class='glyphicon glyphicon-exclamation-triangle'></i> ATENCIÓN<br><small>No está autorizado Para modificar esta información</small><br> pertenece a un grupo de trabajo diferente</h1></div>"; $resultado = " <div class='container-fluid' style=''> $salir $aviso </div> "; $respuesta->addAssign("muestra_form","innerHTML","$resultado"); $respuesta->addscript("$('#muestraInfo').modal('toggle')"); return $respuesta; } } if($tipo =='edit' AND ($_SESSION['id_empresa'] !== $id_empresa[0] AND $_SESSION['id'] != $propietario[0] )AND $permiso_identificador != $opciones) { $password = buscar_campo_tipo($id,"18"); $aviso = "<div class='alert alert-warning text-center '><h1><i class='glyphicon glyphicon-exclamation-triangle'></i> ATENCIÓN<br><small>No está autorizado</small> </h1></div>"; $seguridad =" <div class='input-group has-error ' id='div_seguridad_$control'> <span class='input-group-addon'> <i class='glyphicon glyphicon-key'></i> $password[1] </span> <input type='password' class='form-control' id='clave_identificador' name='clave_identificador' > <span class='input-group-btn'> <div class='btn btn-danger' onclick=\"xajax_autoriza_formulario_mostrar((document.getElementById('clave_identificador').value),'$id','$opciones'); \"><i class='glyphicon glyphicon-arrow-right'></i></div> </span> </div> "; $resultado ="$cabecera <div class='container-fluid' style=''> $salir $aviso $seguridad </div> $pie "; $respuesta->addAssign("titulo_modal","innerHTML","$cabecera"); $respuesta->addAssign("muestra_form","innerHTML","$resultado"); $respuesta->addscript("$('#muestraInfo').modal('toggle')"); return $respuesta; } if($tipo=="respuesta") { $form_respuesta = "respuesta";}else {$form_respuesta="";} $impresion = formulario_areas($datos,"$id","$tipo","$form_respuesta","$opciones",'',''); $cantidad_areas = formulario_areas('',"$id","cantidad","$form_respuesta","$opciones",'',''); $formulario_nombre = remplacetas('form_id','id',$id,'nombre','') ; $formulario_descripcion = remplacetas('form_id','id',$id,'descripcion','') ; $pie="<div class='hidden-xs hidden-sm'>$pie</div>"; $muestra_form = " <div class='container-fluid' style=' background-color:white; overflow:no;' id='contenedor_datos' > <!-- formulario_areas --> $impresion <!-- formulario_areas --> </div> <style> .modal { position: fixed; top: 0; right: 0; bottom: 0; left: 0; overflow: hidden; } .modal-dialog { position: fixed; margin: 0; width: 100% !important; height: 100% !important; padding: 0; } .modal-content { position: absolute; top: 0; right: 0; bottom: 0; left: 0; border: 2px solid #3c7dcf; border-radius: 0; box-shadow: none; } .modal-header { position: absolute; top: 0; right: 0; left: 0; height: 100px; padding: 10px; background: #333; border: 0; } .modal-title { color: #fff; line-height: 30px; } .modal-body { position: absolute; top: 100px; bottom: 60px; width: 100%; // font-weight: 300; overflow: auto; } .modal-footer { position: absolute; right: 0; bottom: 0; left: 0; //height: 60px; padding: 10px; background: #f1f3f5; } ::-webkit-scrollbar { -webkit-appearance: none; width: 10px; background: #f1f3f5; border-left: 1px solid darken(#f1f3f5, 10%); } ::-webkit-scrollbar-thumb { background: darken(#f1f3f5, 20%); } </style> "; $respuesta->addAssign("muestra_form","innerHTML","$muestra_form"); $respuesta->addAssign("titulo_modal","innerHTML","$cabecera"); $respuesta->addAssign("pie_modal","innerHTML"," $cerrar $pie "); $respuesta->addscript("$('#muestraInfo').removeClass('fade').modal('hide')"); $respuesta->addscript(" $('.next').click(function(){ var nextId = $(this).parents('.tab-pane').next().attr('id'); $('[href=#'+nextId+']').tab('show'); return false; }) $('.prev').click(function(){ var prevId = $(this).parents('.tab-pane').prev().attr('id'); $('[href=#'+prevId+']').tab('show'); return false; }) $('a[data-toggle=\"tab\"]').on('shown.bs.tab', function (e) { //update progress var step = $(e.target).data('step'); var percent = (parseInt(step) / $cantidad_areas ) * 100; $('.progress-bar').css({width: percent + '%'}); $('.progress-bar').text('Paso ' + step + ' de $cantidad_areas' ); //e.relatedTarget // previous tab }) $('.first').click(function(){ $('#myWizard a:first').tab('show') }) "); $respuesta->addscript("$('#muestraInfo').modal('toggle')"); return $respuesta; } $xajax->registerFunction("formulario_embebido_ajax"); function formulario_embebido_campos($id,$opcion){ $impresion = formulario_modal("$id",$form_respuesta,$control,"$opcion"); $formulario_nombre = remplacetas('form_id','id',$id,'nombre') ; $formulario_descripcion = remplacetas('form_id','id',$id,'descripcion') ; $muestra_form = " <div class='container-fluid' id='contenedor_datos' > <h3 class='formulario_nombre'>$formulario_nombre[0]</h3> <p class='formulario_descripcion'>$formulario_descripcion[0] </p> $impresion </div> <div class='pie'> Poweredy by <a href='https://github.com/humano/milfs' target='milfs'><img width='30px' src='https://qwerty.co/demo/images/logo.png'> MILFS</a> </div> <br>"; return $muestra_form ; } function json($datos){ $limite=""; $w_rango=""; // $limite="limit 10"; $features=""; // if($datos['registros'] ==""){ $limite="";}else{$limite = " limit $datos[registros]";} if(isset($datos['start']) AND isset($datos['end'])) { $campo = buscar_campo_tipo($datos['id'],"32"); if($campo[0] =="") { $campo = buscar_campo_tipo($datos['id'],"11"); } $w_rango ="( form_datos.id_campo = $campo[0] ) AND ( DATE(contenido) BETWEEN DATE('$datos[start]') AND DATE('$datos[end]') ) AND "; $limite ="limit 200"; } if(!isset ($datos["tipo"] )) { $datos["tipo"]="";} if ( !isset ( $_SESSION['id_empresa'] ) ) { $publico = "AND form_id.id_empresa = '$datos[proyecto]' AND form_id.publico = '1' "; $w_publico = "WHERE form_id.id_empresa = '$datos[proyecto]' AND form_id.publico = '1' "; } else { $publico = "AND form_id.id_empresa = '$datos[proyecto]'"; $w_publico = "WHERE form_id.id_empresa = '$datos[proyecto]' "; } //$datos = mysql_seguridad($datos); $link=Conectarse(); mysqli_set_charset($link, "utf8"); if($datos["id"] !='' AND (!isset($datos['identificador']))){ //$id_campo = remplacetas('form_datos','id',$row["id"],'id_campo',"") ; //$campo_tipo = remplacetas("form_campos","id",$row["id_campo"],"campo_tipo",""); //$features = array(); if($datos["tipo"] =='simple') { $campos ="control " ; $consulta_total = "SELECT $campos, form_id.id as form_id ,form_datos.id as id_dato FROM `form_datos` , `form_campos` ,form_id WHERE $w_rango form_datos.id_campo = `form_campos`.id AND form_datos.form_id = `form_id`.id AND (form_id = '$datos[id]' ) $publico GROUP BY form_datos.control ORDER BY form_datos.timestamp DESC "; if($datos['formato'] =='voyeur'){ $publico = "AND form_id.publico = '1'"; $consulta_total = "SELECT $campos, form_id.id as form_id ,form_datos.id as id_dato FROM `form_datos` , `form_campos` ,form_id WHERE $w_rango form_datos.id_campo = `form_campos`.id AND form_datos.form_id = `form_id`.id $publico GROUP BY form_datos.control ORDER BY form_datos.timestamp DESC "; } $sql_total = mysqli_query($link,$consulta_total) or die("Error al ejecutar consulta_total "); $cantidad = mysqli_num_rows($sql_total); //$features['total'] = $cantidad; if(isset($datos['registros'])){$registros=$datos['registros'];}else{$datos['registros']=$cantidad;} //$features['registros'] = $datos['registros']; //$features['pagina'] = $datos['pagina']; //$features['total_paginas'] = ceil($cantidad / $datos['registros']); if ($datos['pagina'] =='') {$inicio = 0; $pagina = $datos['registros']; } else { $pagina = ($datos['pagina'] * $datos['registros']); $inicio = ($datos['pagina'] - 1) * $datos['registros'];} //$features['limit_pagina'] = $pagina; //$features['inicio_pagina'] = $inicio; $limite= " limit $inicio,$datos[registros]"; //$features['limite'] = $limite; $consulta ="$consulta_total $limite"; $sql = mysqli_query($link,$consulta) or die("Error al ejecutar consulta 03 "); if (mysqli_num_rows($sql)!='0'){ $i = 1; //$features['consulta_total'] = $consulta_total; //$features['consulta'] = $consulta; while($row = mysqli_fetch_array( $sql )) { if($datos["tipo"]=="simple"){ $id_campo = @remplacetas('form_datos','id',$row["id_dato"],'id_campo',"") ; $nombre_campo = remplacetas('form_campos','id',$id_campo[0],'campo_nombre',"") ; $nuevos_datos = $datos; $nuevos_datos["identificador"]="$row[control]"; $nuevos_datos["tipo"]="array"; // $features[$row['control']][] = datos_array($row["control"],"$datos[id]","") ; $features[] = datos_array($row["control"],"$datos[id]","") ; //$features['consulta'] = $consulta; } else { // $features[] = $row; } $i++; } }else{} //$features[] = "$consulta"; if($datos["tipo"] == "array" ) { $resultado = $features; }else { $resultado = json_encode($features,JSON_NUMERIC_CHECK|JSON_PRETTY_PRINT|JSON_UNESCAPED_UNICODE); } return $resultado; } else { $campos ="form_datos.id as id_dato, form_datos.form_id AS id_formulario, nombre as formulario, campo_nombre, form_campos.id AS id_campo , contenido ,timestamp, control as identificador , form_datos.orden" ; $consulta = "SELECT $campos FROM `form_datos` , `form_campos` ,form_id WHERE form_datos.id_campo = `form_campos`.id AND form_datos.form_id = `form_id`.id AND (form_id = '$datos[id]' ) $publico ORDER BY form_datos.control ,form_datos.timestamp $limite"; } //return $consulta; } elseif($datos["identificador"] !=''){ if($datos["tipo"] =='simple') { $campos ="form_campos.id as id_campo, form_datos.id as id_dato " ;} else {$campos ="form_datos.id as id_dato, form_datos.form_id AS id_formulario, nombre as formulario, campo_nombre, form_campos.id AS id_campo ,contenido ,timestamp, control as identificador , form_datos.orden" ;} $consulta = "SELECT $campos,form_datos.control FROM `form_datos` , `form_campos` ,form_id WHERE form_datos.id_campo = `form_campos`.id AND form_datos.form_id = `form_id`.id AND (control = '$datos[identificador]' AND form_datos.form_id='$datos[id]' ) $publico $limite "; } elseif($datos["dato"] !=''){ if($datos["tipo"] =='simple') {$campos ="form_campos.id as id_campo, form_datos.id as id_dato " ;} else {$campos ="form_datos.id as id_dato, form_datos.form_id AS id_formulario, nombre as formulario, nombre as formulario, campo_nombre, form_campos.id AS id_campo ,contenido ,timestamp, control as identificador, form_datos.orden" ;} $consulta = "SELECT $campos,form_datos.control FROM `form_datos` , `form_campos` ,form_id WHERE form_datos.id_campo = `form_campos`.id AND form_datos.form_id = `form_id`.id AND (form_datos.id = '$datos[dato]' ) $publico $limite "; } else { $consulta = "SELECT id as form_id, nombre as form_nombre, descripcion as form_descripcion , creacion , publico AS contenido_publico , modificable AS formulario_publico FROM form_id $w_publico $limite"; } $sql = mysqli_query($link,$consulta) or die("Error al ejecutar consulta 04 "); if (mysqli_num_rows($sql)!='0'){ $i = 1; $features = array(); //$mostrar = mostrar_areas($datos['id'],"","","api"); //$mostrar .= " identificador $datos[identificador] "; //print_r($consulta); //$features[] = $consulta; while($row = mysqli_fetch_array( $sql )) { //$nombre_campo =remplacetas('form_campos','id',$id_campo[0],'campo_nombre',"") ; $id_campo = remplacetas('form_datos','id',$row["id_dato"],'id_campo',"") ; $formulario = remplacetas('form_datos','id',$row["id_dato"],'form_id',"") ; $campo_tipo = remplacetas("form_campos","id",$row["id_campo"],"campo_tipo",""); //// PRIVACIDAD $privado = remplacetas('form_parametrizacion','campo',"$formulario[0]",'opcion'," tabla='form_id' AND descripcion ='$id_campo[0]' AND opcion REGEXP '^privacidad:' ") ; $privado = explode(":",$privado[0]); $privado = @$privado[1]; /// PRIVACIDAD if($privado !='1') { if($datos['tipo']=="simple"){ $contenido = remplacetas('form_datos','id',$row["id_dato"],'contenido',"") ; //$resultado[0]=str_replace('\n','<br>',$resultado[0]); $contenido[0] =stripslashes($contenido[0]); $is_json = isJson($contenido[0]); if($is_json == '1'){ ///$cadena='{"a":1,"b":2,"c":3,"d":4,"e":5}'; $contenido[0] = json_decode($contenido[0]); }else{} $contenido_limpio = $contenido[0]; $id_campo = remplacetas('form_datos','id',$row["id_dato"],'id_campo',"") ; $nombre_campo =remplacetas('form_campos','id',$id_campo[0],'campo_nombre',"") ; $features[$row["control"]][$nombre_campo[0]] = $contenido_limpio;//$row[id_campo]; // $features[$row['control']][] = datos_array($row["control"],"$datos[id]","") ; } else { if($campo_tipo[0] == '31') { $link_url = "$_SESSION[site]milfs/archivos/?archivo=$row[contenido]"; $row['contenido']= $link_url; } $row["contenido"]=str_replace('\n','<br>',$row["contenido"]); $row["contenido"] = html_entity_decode("$row[contenido]"); $features[] = $row; } } $i++; } } if($datos["tipo"] == "array" ) { $resultado = $features; }else { //$resultado = json_encode($mostrar,JSON_NUMERIC_CHECK|JSON_PRETTY_PRINT); $resultado = json_encode($features,JSON_NUMERIC_CHECK|JSON_PRETTY_PRINT|JSON_UNESCAPED_UNICODE); } return $resultado; } function imprime_geojson($id,$id2,$plantilla,$busqueda,$item){ $id_form = mysql_seguridad($id); $id_form2 = mysql_seguridad($id2); $item = mysql_seguridad($item); $campo = buscar_campo_tipo($id_form,"14"); $campo2 = buscar_campo_tipo($id_form2,"14"); $id_campo = $campo[0]; $id_campo2 = $campo2[0]; $busqueda = explode(':',$busqueda); if($busqueda[1] !="") { $busqueda[1] = htmlentities($busqueda[1]); $consulta = "SELECT form_id as id, control, GROUP_CONCAT(contenido ORDER by timestamp desc ) as data FROM `form_datos` WHERE (form_id = '$id_form' $w_id2 AND id_campo ='$busqueda[0]' AND contenido COLLATE utf8_spanish2_ci like '%$busqueda[1]%' ) group by control ORDER BY orden desc"; } elseif($item !=""){ $consulta = "SELECT form_id as id, control, GROUP_CONCAT(contenido ORDER by timestamp desc ) as data FROM `form_datos` WHERE control= '$item' limit 1"; } else{ $consulta = "SELECT form_id as id, control, GROUP_CONCAT(contenido ORDER by timestamp desc ) as data FROM `form_datos` WHERE (form_id = '$id_form' $w_id2 ) AND ( id_campo ='$id_campo' $or_2 ) group by control ORDER BY orden desc"; } if($id_form2 !=""){$w_id2 =" OR form_id = '$id_form2'"; $or_2 ="or id_campo = '$id_campo2'";} $link=Conectarse(); //return $consulta; mysqli_set_charset($link, "utf8"); $sql = mysqli_query($link,$consulta) or die("Error al ejecutar consulta 05 "); $cantidad = mysqli_num_rows($sql); if (mysqli_num_rows($sql)!='0'){ $id = 1; $features = array(); while( $row = mysqli_fetch_array( $sql ) ) { $marcador = array(); $propiedades = array(); $identificador = explode(',',$row['data']); $localizacion = remplacetas('form_datos','control',$row['control'],'contenido',"id_campo = '$id_campo'") ; $identificador = $identificador[0]; //$campos = explode(" ",$identificador); $campos = explode(" ",$localizacion[0]); $lat = $campos[0]; $lon = $campos[1]; $zoom = $campos[2]; $formulario = formulario_imprimir($row['id'],$row['control'],"$plantilla",''); $marcador["type"] = "Point"; $marcador["coordinates"] = array($lat,$lon); $propiedades = formulario_imprimir_linea($row['id'],$row['control'],"array");// //$propiedades[description] ="HOLA MUNDO"; //$propiedades[buscar] ="$consulta "; $propiedades[localizacion] ="$localizacion[0] "; if($cantidad < 300) { } else { $campo_titulo = remplacetas('form_parametrizacion','campo',$id_form,'descripcion'," tabla='form_id' and opcion = 'titulo'") ; $titulo = remplacetas('form_datos','id_campo',$campo_titulo[0],'contenido'," control = '$row[control]' ") ; $propiedades['description'] ="$titulo[0]"; } $propiedades['control'] = "$row[control]"; //$propiedades[description] ="<div class='container-fluid' id='contenedor_datos' >$formulario</div>"; $propiedades['description'] ="$formulario <div class='text-center'><a class='btn btn-info btn-sm' href='?id=$row[id]'>Mostrar todos</a> <a class='btn btn-info btn-sm' href='?id=$row[id]&item=$row[control]'>Mostar solo este</a></div> "; $propiedades['icon']['iconSize'] =[60]; //$propiedades[icon][shadowSize] =[70,70]; //$propiedades[icon][shadowUrl] = "https://raw.githubusercontent.com/humano/milfs/master/milfs/images/iconos/negro.png"; //$propiedades[title] ='Hola mundo'; if($propiedades['icon']['iconUrl'] =="") { $icono_imagen = buscar_imagen("$id_form",$row['control'],"",""); //$propiedades[icon][iconUrl] = "$_SESSION[site]/milfs/images/iconos/negro.png"; $propiedades['icon']['iconUrl'] = "$_SESSION[url]images/secure/?file=150/$icono_imagen"; } //$propiedades[sounds] =""; //$propiedades[url] =''; $geometria .= "{\"type\":\"Feature\",\"geometry\":".json_encode($marcador,JSON_NUMERIC_CHECK|JSON_PRETTY_PRINT).",\"properties\":".json_encode($propiedades,JSON_NUMERIC_CHECK|JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_QUOT | JSON_HEX_AMP | JSON_UNESCAPED_UNICODE|JSON_PRETTY_PRINT)."},"; $features[] = $marcador; $id++; } }else{ } //-75.58295 6.25578 16 //encode and output jsonObject header('Content-Type: text/plain'); //echo $consulta; $resultado = " { \"type\": \"FeatureCollection\", \"features\": "; $resultado .= json_encode($features,JSON_NUMERIC_CHECK|JSON_PRETTY_PRINT); $resultado .= "}"; //echo $resultado; $geometria = substr("$geometria",0,-1); // \"consulta\": \"$consulta\", $geometria = "{ \"type\": \"FeatureCollection\", \"features\": [$geometria ]}"; return $geometria; } function aplicacion_presentacion($id,$div,$timeout){ if($timeout < '1000') {$timeout =5000;}; $respuesta = new xajaxResponse('utf-8'); $consulta ="SELECT * FROM form_datos WHERE form_id = '$id' ORDER BY rand() limit 1 "; $link=Conectarse(); $sql=mysqli_query($link,$consulta); if (mysqli_num_rows($sql)!='0'){ $control = mysqli_result($sql,0,control); $impresion = formulario_imprimir("$id","$control",""); } $siguiente = "<a onclick=\"xajax_aplicacion_presentacion('$id','presentacion_$id','$timeout') \";>SIGUIENTE</a>"; if($div ==''){ $presentacion = "<div id='presentacion_$id' >$siguiente $impresion</div>"; }else{ //$respuesta->addAlert("$consulta"); $respuesta->addScript("setTimeout(function(){xajax_aplicacion_presentacion('$id','presentacion_$id','$timeout')},$timeout)"); $respuesta->addAssign("$div","innerHTML","$siguiente $impresion"); return $respuesta; } return " $presentacion"; } $xajax->registerFunction("aplicacion_presentacion"); function aplicaciones_listado($id_empresa,$id_form,$tipo,$div){ $onclick =""; $contenido = ""; $accion = ""; $resultado_li = ""; $resultado = ""; $resultado_banner = ""; $resultado_inicial = ""; $resultado_final = ""; $resultado_grid = ""; $contenido_listado = ""; $resultado_nav = ""; $w_form = ""; $divider = ""; $li_barra=""; $categoria = ""; if($id_empresa !=''){ if($id_form !="") {$w_form = " AND id = '$id_form'";} $w_publico =" publico ='1'"; $w_empresa = " AND id_empresa = '$id_empresa' "; //$consulta = "SELECT * , form_id.id as id_formulario FROM form_id WHERE $w_publico $w_form $w_empresa ORDER BY orden asc limit 10 "; $consulta = "SELECT * , form_id.id as id_formulario FROM form_id WHERE $w_publico $w_form $w_empresa ORDER BY orden asc "; //$consulta = "SELECT *, empresa.id AS id_proyecto, razon_social as nombre FROM empresa WHERE estado='1' AND id = '$id_empresa group by empresa.id ORDER BY empresa.id DESC "; //xajax_contenido_parallax('$row[id]'); } else { $consulta = "SELECT *, empresa.id AS id_proyecto, razon_social as nombre FROM empresa WHERE estado='1' group by empresa.id ORDER BY empresa.id DESC "; } //if($tipo =='publico'){ $w_publico =" publico ='0'";}else {$w_publico =" publico ='1'";} $link=Conectarse(); mysqli_set_charset($link, "utf8"); mysqli_real_escape_string($link,$consulta); $sql=mysqli_query($link,$consulta); //$resultado_array['consulta'] = $consulta; if (mysqli_num_rows($sql)!='0'){ mysqli_data_seek($sql, 0); $resultado_li .= "<ul class='list-group'>"; $resultado_grid .= "<div id='row_aplicacion' class='row centered' style=''>"; if($tipo == "banner") { $divider = 1; $resultado_banner .= "<div id='row_aplicacion' class='row centered' style=''>"; } $i=0; //$resultado_nav .= "<ul class='nav navbar-nav ' >"; $fila=0; while( $row = mysqli_fetch_array( $sql ) ) { $mostrar = remplacetas('form_parametrizacion','campo',$row['id'],'descripcion'," tabla='form_id' AND opcion='mostrar_portal'") ; $vista_favorita = vista_favorita($row['id_formulario']); if($id_empresa !=''){ $onclick =""; $accion = " href='./$vista_favorita'"; }else { $onclick =""; // Por acá $accion = "href='./e$row[0]' "; } if ( isset ( $_SESSION['id'] ) ) { $botonera ="<a style ='font-size:20px;' title='Agregar contenido' class='link ' onclick=\"xajax_formulario_modal('$row[id]','','',''); \"> <i class='glyphicon glyphicon-plus-circle '></i> </a>" ; }else {$botonera='';} if($i > 0 AND $divider > 0 ) { if($i % $divider==0) {$resultado_inicial = "<div class='row ' id='grid' style=''>";} } $i++; $descripcion_corta = substr($row['descripcion'],0, $length = 100); $geo = buscar_campo_tipo($row['id'],"14"); if($geo[0] !='') { $mapa= "<tr><td><a href='mapero.php?id=$row[id]' target='mapa'><i class='glyphicon glyphicon-globe'></i></a></td></tr>";}else {$mapa='';} //$nombre = strtoupper("$row[nombre]"); $nombre = $row['nombre']; if($row['nombre'] =="Portada") { $nombre = ''; $resultado_nav .= "<li class='dropdown' > <a href='#$accion' onclick=\" $onclick \" class='dropdown-toggle' data-toggle=''> $nombre </a> $contenido_listado "; } elseif($row['nombre'] =='Agenda') { $resultado_nav .= "<li class='dropdown' > <a href='s$row[id]&eventos=$row[id]' class='dropdown-toggle' data-toggle=''> $nombre </a> $contenido_listado "; } else{ /*$resultado_nav .= "<li class='dropdown' > <a class='dropdown-toggle' data-toggle='dropdown' role='button' aria-haspopup='true' aria-expanded='false' $accion class='dropdown-toggle' data-toggle=''> $nombre </a> $contenido_listado "; */ if($mostrar[0] !="0") { $resultado_nav .= "<li class='dropdown' > <a class='hola' role='button' $accion class='dropdown-toggle' > $nombre </a> $contenido_listado "; $resultado_nav .="</li>"; $li_barra .= "<li > <a class='' role='button' $accion class='dropdown-toggle' > $nombre</a> $contenido_listado </li>"; }else{} } $resultado .= "<li class='list-group-item'><span class='badge alert-success'>$row[id]</span>$categoria $row[nombre] $mapa"; $campos = formulario_campos_select("$row[id]","",""); if($row['nombre'] !="Portada") { $resultado .= "<ul class='list-group'>$campos</ul></li>"; } $campo_imagen = buscar_campo_tipo($row['id'],"15"); /*if($tipo =='grid' AND $id_form !='') { $resultado_grid .= contenido_aplicacion($row[id]); }else { */ $imagen = ultimo_campo($row['id'],"$campo_imagen[0]"); if(@$imagen[0] !='' ) { $bg ="background-image : url(\"milfs/images/secure/?file=300/$imagen[0]\"); background-repeat: no-repeat; background-size :cover; background-position: center; ";} else { $color_aleatorio = sprintf("%02X", mt_rand(0, 0xFFFFFF)); //$bg = "background-color: #$color_aleatorio ;"; $bg = "background-color: gray ;"; } $resultado_grid .= " <div class='col-md-4 div_aplicacion' id='div_aplicacion_$row[id]' style ='height:300px; $bg '> <h2 style='text-shadow: 1px 1px 1px rgba(255,255,255,0.8) ;';>$row[nombre] </h2> <div class='round' style=' padding:5px; background-image : url(\"milfs/images/transparente40.png\");'> <h3>$descripcion_corta</h3> </div> $contenido <br> <a class='btn btn-success btn-block ' href='f$row[id]'>Leer</a> </div>"; $resultado_banner .= " <div class='col-md-12 div_aplicacion' id='div_aplicacion_$row[id]' style ='height:300px; $bg '> <h2 style='text-shadow: 1px 1px 1px rgba(255,255,255,0.8) ;';>$row[nombre] </h2> <div class='round' style=' padding:5px; background-image : url(\"milfs/images/transparente40.png\");'> <h3>$descripcion_corta</h3> </div> $contenido <br> <a class='btn btn-default btn-block ' href='f$row[id]'>Visitar</a> $botonera</div>"; if($divider > 0 ) { if($i % $divider==0) { $resultado_final = " </div> "; } } if($tipo =='carrusel') {$resultado_carrusel .= aplicacion_carrusel("","$row[id]","galeria") ; } if($tipo =="sitemap") { $contenido_listado = contenido_listado("$row[id]"); } if($tipo=='array' ){ if($id_empresa ==""){ $resultado_array[$row['id']]['id']="$row[id_proyecto]"; $resultado_array[$row['id']]['link']="proyectos/$row[id_proyecto]"; $resultado_array[$row['id']]['nombre']="$row[razon_social]"; $resultado_array[$row['id']]['slogan']=strip_tags($row['slogan']); $resultado_array[$row['id']]['web']="$row[web]"; $resultado_array[$row['id']]['email']="$row[email]"; $resultado_array[$row['id']]['logo']="$row[imagen]"; //$resultado_array[$row['id']]['consulta']="$consulta"; }else{ //mostrar los datos de un solo proyecto $resultado_array[$row['id']]['nombre']=strip_tags($row['nombre']); $resultado_array[$row['id']]['descripcion']=strip_tags($row['descripcion']); $resultado_array[$row['id']]['contenido_publico']=strip_tags($row['publico']); $resultado_array[$row['id']]['abierto']=strip_tags($row['modificable']); $resultado_array[$row['id']]['fecha_creacion']=strip_tags($row['creacion']); $resultado_array[$row['id']]['cantidad_entradas']=formulario_contar($row['id']); $resultado_array[$row['id']]['proyecto']=strip_tags($row['id_empresa']); $resultado_array[$row['id']]['link']="proyectos/aplicaciones/$row[id]"; //$resultado_array[$row['id']]['consulta']="$consulta"; } } } if($tipo =="sitemap") { $resultado = "$resultado $contenido_listado"; } $resultado_grid .= "</div>"; $resultado_banner .= "</div>"; $resultado_banner = "$resultado_inicial $resultado_banner $resultado_final"; $resultado_barra ="$li_barra"; // } $resultado .="</ul>"; }else {$resultado_li = "";} if($tipo =='li') { return $resultado_li.$resultado;} elseif($tipo =='nav') { return $resultado_nav;} elseif($tipo =='lista') { return $resultado_barra;} elseif($tipo =='array') { return $resultado_array;} elseif($tipo =='grid') { if($div !="") { $respuesta = new xajaxResponse('utf-8'); $respuesta->addAssign("$div","innerHTML","$resultado_grid"); return $respuesta; }else{ return $resultado_grid; } } elseif($tipo =='banner') { return $resultado_banner;} elseif($tipo =='carrusel') { return $resultado_carrusel;} elseif($tipo =='sitemap') { return $resultado."sitemap";;} else {return $resultado;} } $xajax->registerFunction("aplicaciones_listado"); function contenido_aplicacion($id,$plantilla){ $div = "contenedor"; $respuesta = new xajaxResponse('utf-8'); $campo_titulo = remplacetas('form_parametrizacion','campo',$id,'descripcion'," tabla='form_id' and opcion = 'titulo'") ; if($campo_titulo[0] !='') {$w_campo = "AND id_campo = '$campo_titulo[0]'";} $campo_titulo = $campo_titulo[0]; $consulta ="SELECT *,GROUP_CONCAT(id ORDER by timestamp desc ) as identificador FROM form_datos WHERE form_id = '$id' $w_campo GROUP BY control order by contenido"; $link=Conectarse(); $sql=mysqli_query($link,$consulta); if (mysqli_num_rows($sql)!='0'){ $control = mysqli_result($sql,0,"control"); $nombre = remplacetas('form_id','id',$id,'nombre',"") ; $descripcion = remplacetas('form_id','id',$id,'descripcion',"") ; mysqli_data_seek($sql, 0); //$contenido = " <h1 class='titulo_aplicacion'>$nombre[0]</h1>"; $contenido = " <h2 class='descripcion_aplicacion'>$descripcion[0]</h2>"; $orden = 0; while( $row = mysqli_fetch_array( $sql ) ) { $identificador = explode(',',$row[identificador]); $identificador = $identificador[0]; $contenido_desplegado = contenido_mostrar("$row[form_id]","$row[control]",'',"$plantilla"); //return "$row[form_id] $row[control] $plantilla"; $titulo = remplacetas('form_datos','id',$identificador,'contenido',"") ; $contenido .= "$contenido_desplegado <hr> "; } $contenido = " $links <section id=''>$contenido</section>"; } return $contenido; } function contenido_aplicacion_nombre($nombre,$plantilla){ $id = remplacetas('form_id','nombre',$nombre,'id',"") ; $id = $id[0]; if($id[0] =="") {$aviso = "<div class='alert-danger'><h2>No se ha definido una aplicación con el nombre <strong>$nombre</strong></h2> </div>"; return $aviso;} $campo_titulo = remplacetas('form_parametrizacion','campo',$id,'descripcion'," tabla='form_id' and opcion = 'titulo'") ; if($campo_titulo[0] !='') {$w_campo = "AND id_campo = '$campo_titulo[0]'";} $campo_titulo = $campo_titulo[0]; $consulta ="SELECT *,GROUP_CONCAT(id ORDER by timestamp desc ) as identificador FROM form_datos WHERE form_id = '$id' $w_campo GROUP BY control order by contenido"; $link=Conectarse(); $sql=mysqli_query($link,$consulta); if (mysqli_num_rows($sql)!='0'){ $control = mysqli_result($sql,0,control); mysqli_data_seek($sql, 0); $contenido = " "; $orden = 0; while( $row = mysqli_fetch_array( $sql ) ) { $identificador = explode(',',$row[identificador]); $identificador = $identificador[0]; $contenido_desplegado = contenido_mostrar("$row[form_id]","$row[control]",'',"$plantilla"); $titulo = remplacetas('form_datos','id',$identificador,'contenido',"") ; $contenido .= "$contenido_desplegado "; } $contenido = " $links <section id=''>$contenido</section>"; } return $contenido; } function contenido_parallax($id,$plantilla){ $div = "contenedor"; $orden_by = "ASC "; // $respuesta = new xajaxResponse('utf-8'); $campo_titulo = remplacetas('form_parametrizacion','campo',$id,'descripcion'," tabla='form_id' and opcion = 'titulo'") ; $campo_orden = remplacetas('form_parametrizacion','campo',$id,'descripcion'," tabla='form_id' and opcion = 'orden'") ; if($campo_titulo[0] !='') {$w_campo = "AND id_campo = '$campo_titulo[0]'";} $campo_titulo = $campo_titulo[0]; if($campo_orden[0] !="") { $consulta = " SELECT control as identificador,id,form_id,contenido ,control FROM form_datos WHERE form_id = '$id' AND id_campo ='$campo_orden[0]' GROUP BY form_datos.control ORDER BY CAST(contenido AS SIGNED ) $orden_by "; }else { $consulta ="SELECT *, control as identificador FROM form_datos WHERE form_id = '$id' $w_campo GROUP BY control order by id DESC limit 20 "; } $link=Conectarse(); $sql=mysqli_query($link,$consulta); if (mysqli_num_rows($sql)!='0'){ $control = mysqli_result($sql,0,control); $contenido = ""; mysqli_data_seek($sql, 0); $orden = 0; while( $row = mysqli_fetch_array( $sql ) ) { //$orden = $orden+500; $identificador = explode(',',$row['identificador']); $identificador = $row['control']; $identificador[0]; $campo_imagen = buscar_campo_tipo("$id","15"); $imagen = remplacetas('form_datos','id_campo',$campo_imagen[0],'contenido'," control = '$row[control]' ") ; if($imagen[0] ==""){$imagen[0] ="";} else{$imagen[0] = $imagen[0];} $contenido_desplegado = contenido_mostrar("$row[form_id]","$row[control]",'',"$plantilla"); $titulo = remplacetas('form_datos','id',$identificador,'contenido',"") ; $nav_li .="<li class='dropdown' > <a class='menu' href='#$row[control]'>$titulo[0] </a> </li>"; $style .=" a[id= '$row[control]']:target ~ #main_$id article.article { -webkit-transform: translateY(-$orden"."px); transform: translateY( -$orden"."px ); } "; $links .= " <a id='$row[control]'></a>"; $contenido .= " <div class='parallax_$row[control] lazy'></div> <div style='min-height:200px;'> <div class='container'>$contenido_desplegado</div> </div> "; $orden = $orden +800; $css .= " .parallax_$row[control] { /* The image used */ background-image: url('milfs/images/secure/?file=600/$imagen[0]'); /* Full height */ height: 100%; /* Create the parallax scrolling effect */ background-attachment: fixed; background-position: center; background-repeat: no-repeat; background-size: cover; } "; } $contenido = " <style> body, html { height: 100%; } $css </style> $contenido "; } else{ $contenido ="";} return " $contenido"; // $respuesta->addAssign("$div","innerHTML","$contenido"); // return $respuesta; } $xajax->registerFunction("contenido_parallax"); function contenido_timeline($id){ $div = "contenedor"; $descripcion = remplacetas('form_id','id',$id,'descripcion') ; $nombre = remplacetas('form_id','id',$id,'nombre') ; $respuesta = new xajaxResponse('utf-8'); $campo_titulo = remplacetas('form_parametrizacion','campo',$id,'descripcion'," tabla='form_id' and opcion = 'titulo'") ; if($campo_titulo[0] !='') {$w_campo = "AND id_campo = '$campo_titulo[0]'";} $campo_titulo = $campo_titulo[0]; $consulta ="SELECT *,GROUP_CONCAT(id ORDER by timestamp desc ) as identificador FROM form_datos WHERE form_id = '$id' $w_campo GROUP BY control order by contenido"; $link=Conectarse(); $sql=mysqli_query($link,$consulta); if (mysqli_num_rows($sql)!='0'){ $control = mysqli_result($sql,0,control); //$contenido = "<ul class='dropdown-menu' role='menu'>"; mysqli_data_seek($sql, 0); $contenido = " "; while( $row = mysqli_fetch_array( $sql ) ) { //$orden = $orden+500; $identificador = explode(',',$row[identificador]); $identificador = $identificador[0]; $contenido_desplegado = contenido_mostrar("$row[form_id]","$row[control]",'','timeline'); $titulo = remplacetas('form_datos','id',$identificador,'contenido',"") ; $nav_li .="<li><a href='#$row[control]'>$titulo[0]</a></li>"; $contenido .= "$contenido_desplegado "; } $contenido = " <h1 id='titulo_timeline'>$nombre[0]</h1> <div id='timeline'> <ul id='dates'> $nav_li </ul> <ul id='issues'> $contenido <li></li> </ul> <div id='grad_left'></div> <div id='grad_right'></div> <a href='#' id='next'>+</a> <a href='#' id='prev'>-</a> <h2 id='descripcion_timeline'>$descripcion[0]</h2> </div> "; } //return " $contenido"; $respuesta->addAssign("$div","innerHTML","$contenido"); $respuesta->addscript(" $(function(){ $().timelinr({ arrowKeys: 'true' }) });"); return $respuesta; } $xajax->registerFunction("contenido_timeline"); function contenido_listado($id){ $respuesta = new xajaxResponse('utf-8'); $campo_titulo = remplacetas('form_parametrizacion','campo',$id,'descripcion'," tabla='form_id' and opcion = 'titulo'") ; if($campo_titulo[0] !='') {$w_campo = "AND id_campo = '$campo_titulo[0]'";} $campo_titulo = $campo_titulo[0]; $consulta ="SELECT *,GROUP_CONCAT(id ORDER by timestamp desc ) as identificador FROM form_datos WHERE form_id = '$id' $w_campo GROUP BY control order by contenido"; $link=Conectarse(); $sql=mysqli_query($link,$consulta); if (mysqli_num_rows($sql)!='0'){ $control = mysqli_result($sql,0,control); $contenido = "<ul class='dropdown-menu' role='menu'>"; mysqli_data_seek($sql, 0); while( $row = mysqli_fetch_array( $sql ) ) { $identificador = explode(',',$row[identificador]); $identificador = $identificador[0]; $titulo = remplacetas('form_datos','id',$identificador,'contenido',"") ; $contenido .= "<li class='menu'> <a class='menu' href='#$row[control]' >$titulo[0] </a> </li>"; } $contenido .= "</ul>"; } return " $contenido"; } $xajax->registerFunction("contenido_listado"); function ultimo_campo($id,$id_campo) { $resultado=""; $link=Conectarse(); $consulta ="SELECT * FROM form_datos WHERE form_id = '$id' AND id_campo ='$id_campo' ORDER BY id DESC limit 1 "; $sql=mysqli_query($link,$consulta); if (mysqli_num_rows($sql)!='0'){ $control = mysqli_result($sql,0,"control"); $contenido = mysqli_result($sql,0,"contenido"); $resultado[0]=$contenido; $resultado[1]=$control; $resultado[2]=$consulta; } return $resultado; } function contenido_aleatorio($id) { $link=Conectarse(); $sql=mysqli_query($link,$consulta); $consulta ="SELECT * FROM form_datos WHERE form_id = '$id' ORDER BY rand() limit 1 "; $sql=mysqli_query($link,$consulta); if (mysqli_num_rows($sql)!='0'){ $control = mysqli_result($sql,0,"control"); $contenido = formulario_imprimir("$id","$control","contenido"); } return $contenido.$control; } function contenido_mostrar($id,$control,$div,$plantilla){ if($id=="") { $value = remplacetas('form_datos','control',$control,'form_id',"") ; $id= $value[0]; } $respuesta = new xajaxResponse('utf-8'); if ($control !=""){ $impresion = formulario_imprimir("$id","$control","$plantilla",''); } else{$impresion ="";} if($div !="") { $respuesta->addAssign("$div","innerHTML","$impresion"); return $respuesta; }else{ return $impresion; } } $xajax->registerFunction("contenido_mostrar"); function aplicacion_datos($id) { $descripcion = remplacetas('form_id','id',$id,'descripcion') ; $nombre = remplacetas('form_id','id',$id,'nombre') ; $id_empresa = remplacetas('form_id','id',$id,'id_empresa') ; $id_empresa = $id_empresa[0]; $direccion = remplacetas("empresa","id",$id_empresa,"direccion",""); $telefono = remplacetas("empresa","id",$id_empresa,"telefono",""); $web = remplacetas("empresa","id",$id_empresa,"web",""); $email = remplacetas("empresa","id",$id_empresa,"email",""); $imagen = remplacetas("empresa","id",$id_empresa,"imagen",""); $razon_social = remplacetas("empresa","id",$id_empresa,"razon_social",""); $slogan = remplacetas("empresa","id",$id_empresa,"slogan",""); $imagen = "<img class='img-round img-responsive ' src='images/secure/?file=150/$imagen[0]'>"; $datos ="<h3>$nombre[0]</h3><strong>$descripcion[0]</strong> "; $empresa = "<div class='small'>$razon_social[0] | <a href='$web[0]' target='web'>$web[0]</a> | $direccion[0] | $email[0] </div>"; $resultado ="<div class='col-xs-2'>$imagen</div><div class='col-xs-10'> $datos $empresa <A HREF='https://github.com/humano/milfs'>MILFS</A></div>"; return $resultado; } function buscar_campo_tipo($id,$tipo) { //// esta función retorna el id para un campo de un tipo especifico dentro de un formulario. $consulta ="SELECT form_campos.id, form_campos.campo_nombre FROM form_tipo_campo,form_campos,form_contenido_campos WHERE form_tipo_campo.id_tipo_campo = form_campos.campo_tipo AND form_contenido_campos.id_campo = form_campos.id AND form_tipo_campo.id_tipo_campo = '$tipo' AND form_contenido_campos.id_form = '$id'"; $link=Conectarse(); mysqli_set_charset($link, "utf8"); $sql=mysqli_query($link,$consulta); if (mysqli_num_rows($sql)!='0'){ $resultado[0]=mysqli_result($sql,0,"id"); $resultado[1]=mysqli_result($sql,0,"campo_nombre"); $resultado[2] =$consulta; }else{ $resultado[0]=''; $resultado[2] =$consulta; } return $resultado; } function formulario_contar($id) { $consulta ="SELECT count(distinct control) as cantidad FROM form_datos WHERE form_id = '$id' GROUP BY form_id order by cantidad DESC LIMIT 1 "; $link=Conectarse(); mysqli_set_charset($link, "utf8"); $sql=mysqli_query($link,$consulta); if (mysqli_num_rows($sql)!='0'){ $resultado=mysqli_result($sql,0,"cantidad"); }else {$resultado ='0';} return $resultado; } function formulario_uso($id,$control,$tipo) { $resultado=""; if($tipo =='primer') {$orden = 'ASC';} if($tipo =='ultimo') {$orden = 'DESC';} if($control != ""){$where = "control = '$control'";} else{$where = "form_id = '$id'";} $consulta ="SELECT * FROM form_datos WHERE $where order by timestamp $orden LIMIT 1 "; $link=Conectarse(); mysqli_set_charset($link, "utf8"); $sql=mysqli_query($link,$consulta); if (mysqli_num_rows($sql)!='0'){ $resultado[0]=mysqli_result($sql,0,"timestamp"); $resultado[1]=mysqli_result($sql,0,"control"); $resultado[2]=$consulta; $resultado[3]=mysqli_result($sql,0,"form_id"); }else {} return $resultado; } function empresa_datos($id_empresa,$tipo) { $direccion = remplacetas("empresa","id",$id_empresa,"direccion",""); $telefono = remplacetas("empresa","id",$id_empresa,"telefono",""); $web = remplacetas("empresa","id",$id_empresa,"web",""); $email = remplacetas("empresa","id",$id_empresa,"email",""); $imagen = remplacetas("empresa","id",$id_empresa,"imagen",""); $razon_social = remplacetas("empresa","id",$id_empresa,"razon_social",""); $slogan = remplacetas("empresa","id",$id_empresa,"slogan",""); $sigla = remplacetas("empresa","id",$id_empresa,"sigla",""); @include("includes/datos.php"); if($tipo=='encabezado') { $resultado =" <div class='datos_empresa text-center' role='row'> <div class='col-xs-10 cabezote_descripcion_proyecto'> <legend>$razon_social[0] <small class=' hidden-xs cabezote_slogan'>/ $slogan[0]</small> </legend> </div> <div class='col-xs-2 cabezote_logo_proyecto hidden-xs'> <img id='logo_empresa' style='max-height:50px;' class='img logo_empresa img-responsive pull-right' src='$_SESSION[site]milfs/images/secure/?file=150/$imagen[0]'> </div> </div> "; }elseif($tipo=='pie') { $resultado = "<div class='small' id='empresa_pie'>$razon_social[0] | <a href='https://$web[0]' target='web'>$web[0]</a><span class='hidden-xs'> | $direccion[0] | $email[0] </span></div>"; }elseif($tipo=="array"){ $array = array(); $array[$id_empresa]['id'] ="$id_empresa"; $array[$id_empresa]['nombre'] ="$razon_social[0]"; $array[$id_empresa]['slogan'] ="$slogan[0]"; $array[$id_empresa]['logo'] ="$imagen[0]"; $array[$id_empresa]['email'] ="$email[0]"; $array[$id_empresa]['web'] ="$web[0]"; $array[$id_empresa]['direccion'] ="$direccion[0]"; $array[$id_empresa]['telefono'] ="$telefono[0]"; $array[$id_empresa]['sigla'] ="$sigla[0]"; return $array; } else{} return $resultado; } function configuracion($accion) { if ( $_SESSION['grupo'] != 1 ) { return;} $div='contenido'; if($accion =='') { $link ="<a data-toggle='collapse' data-target='.navbar-collapse' title='Configuración' href='#' onclick=\"xajax_configuracion('mostrar') \"><i class='glyphicon glyphicon-cog'></i></a>"; return $link; }elseif($accion=='mostrar') { $respuesta = new xajaxResponse('utf-8'); $multiempresa= multiempresa('',''); $login = "<div title='agregar usuarios' class='btn btn-success' onclick=\"xajax_registro_express('','nuevo');\"><i class='glyphicon glyphicon-plus'></i> <i class='glyphicon glyphicon-user'></i> Gestión de usuarios</div>"; if($_SESSION['id']==1){ $actualizar= "<div class='btn btn-info' onclick=\"xajax_actualizar_codigo(''); \"><i class='glyphicon glyphicon-refresh'></i> Actualizar</div>"; }else{$actualizar="";} $resultado ="<h1><i class='glyphicon glyphicon-cog'></i> Configuración</h1> $multiempresa $login $actualizar"; $link=Conectarse(); mysqli_set_charset($link, "utf8"); $consulta = "SELECT * FROM empresa WHERE id = '$_SESSION[id_empresa]' LIMIT 1"; $sql=mysqli_query($link,$consulta); $empresa_razon_social = editar_campo("empresa","$_SESSION[id_empresa]","razon_social","","","",""); $empresa_nit = editar_campo("empresa","$_SESSION[id_empresa]","nit","","","",""); $empresa_slogan = editar_campo("empresa","$_SESSION[id_empresa]","slogan","","","",""); $empresa_direccion = editar_campo("empresa","$_SESSION[id_empresa]","direccion","","","",""); $empresa_telefono = editar_campo("empresa","$_SESSION[id_empresa]","telefono_1","","","",""); //$empresa_web = editar_campo("empresa","$_SESSION[id_empresa]","web",""); $empresa_web = remplacetas('empresa','id',"$_SESSION[id_empresa]",'web',''); $empresa_web = "<strong>$empresa_web[0]</strong> (Para editar este campo comuníquese con el soporte de técnico )"; $empresa_email = editar_campo("empresa","$_SESSION[id_empresa]","email","","","",""); $empresa_twitter = editar_campo("empresa","$_SESSION[id_empresa]","twitter","","","",""); $empresa_facebook = editar_campo("empresa","$_SESSION[id_empresa]","facebook","","","",""); $background = remplacetas("empresa","id",$_SESSION['id_empresa'],"imagen",""); $background_imagen = "images/secure/?file=300/$background[0]"; $nombre = editar_campo("usuarios","$_SESSION[id]","p_nombre","","","",""); $apellido = editar_campo("usuarios","$_SESSION[id]","p_apellido","","","",""); $email = editar_campo("usuarios","$_SESSION[id]","email","","","",""); $username = editar_campo("usuarios","$_SESSION[id]","username","","","",""); $parametrizacion_css = parametrizacion_css("","",""); $subir_imagen = subir_imagen("","imagen","milfs"); $subir_imagen .= "<input name='imagen' id='imagen' type='hidden' > <div onclick = \"xajax_cambiar_imagen((document.getElementById('imagen').value),'empresa','$_SESSION[id_empresa]','imagen') \"; class='btn btn-success'>Cambiar logo</div><br>"; //parametrizacion_linea($tabla,$campo,$opcion,$descripcion,$div) $parametrizacion =parametrizacion_linea("","","","","",'',''); $usuarios_autorizados = autorizar_usuarios('','',''); $pagina_inicio_definida = remplacetas('form_parametrizacion','id_empresa',$_SESSION['id_empresa'],'descripcion'," tabla='empresa' AND opcion='pagina_inicio'") ; $listado_formularios = select_key('form_id,form_grupo','id','form_id.id','nombre',"xajax_parametrizacion_linea('empresa',$_SESSION[id_empresa],'pagina_inicio',(this.value),'div_pagina_inicio','','');","form_id.id_empresa = '$_SESSION[id_empresa]' AND form_id.id = form_grupo.id ",'tipo_consulta',"$pagina_inicio_definida[0]"); $pagina_inicio= " <div class='row'> <div class='input-group' title='Aplicación que se cargará al inicio' id='pagina_inicio_listado'> <span class='input-group-addon'> Portada: <span id='div_pagina_inicio' class='hidden'>$pagina_inicio_definida[0]</span> </span> <div >$listado_formularios</div> </div> <a class='pull-right' onclick=\"xajax_parametrizacion_linea('empresa',$_SESSION[id_empresa],'pagina_inicio','','pagina_inicio_listado','','');\">Portada predefinida</a> </div> "; $key_proyecto = remplacetas('empresa','id',"$_SESSION[id_empresa]",'secret_key',"") ; $resultado .=" <div class='row'> <div class='col-md-3'> <div class='img-round ' id='banner_imagen' style=' background-position:top center ; -webkit-background-size: cover; -moz-background-size: cover; -o-background-size: cover; background-size: cover; background-repeat:no-repeat; background-image: url($background_imagen ) ; padding:10px; padding:10px; width: 200px; height:200px; '><a href='#logo'>Cambiar logo</a> </div> </div> <div class='col-md-5'> <legend>Datos del proyecto ID $_SESSION[id_empresa]</legend> <li class='list-group-item'>Razón social: $empresa_razon_social</li> <li class='list-group-item'>Nit: $empresa_nit</li> <li class='list-group-item'>Slogan: $empresa_slogan</li> <li class='list-group-item'>Dirección: $empresa_direccion</li> <li class='list-group-item'>Teléfono: $empresa_telefono</li> <li class='list-group-item'>Web: $empresa_web</li> <li class='list-group-item'>Email: $empresa_email</li> <li class='list-group-item'>Twitter: $empresa_twitter</li> <li class='list-group-item'>Facebook: $empresa_facebook</li> </div> <div class='col-md-4'> <legend>Datos del usuario</legend> <li class='list-group-item'>$username</li> <li class='list-group-item'>$nombre</li> <li class='list-group-item'>$apellido</li> <li class='list-group-item'>$email</li> <li class='list-group-item'>$pagina_inicio</li> </div> </div> <div id='api' class='row'> <legend>API</legend> <div class='input-group'> <span class='input-group-addon'>Secret key</span> <input class='form-control ' value='$key_proyecto[0]' id='token_$_SESSION[id_empresa]' readonly> <div class='input-group-btn' title='Renovar' > <button class='btn btn-warning' onclick=\"xajax_generar_token('token_$_SESSION[id_empresa]','proyecto'); \"> <i class='glyphicon glyphicon-refresh'></i> Generar </button> </div> </div><legend id='token_$_SESSION[id_empresa]_aviso'></legend> </div> $usuarios_autorizados $parametrizacion_css <div style='' id='logo' > <legend>Cambiar logo</legend> $subir_imagen </div> <hr> "; $respuesta->addAssign($div,"innerHTML",$resultado); } return $respuesta; } $xajax->registerFunction("configuracion"); function cambiar_imagen($imagen,$tabla,$id,$campo) { $respuesta = new xajaxResponse('utf-8'); $link = Conectarse(); mysqli_set_charset($link, "utf8"); $consulta = "UPDATE $tabla SET `$campo` = '".$imagen."' WHERE `id` = '$id';"; $sql_consulta=mysqli_query($link,$consulta); if($sql_consulta) { if($tabla =='empresa') { $respuesta->addAssign("banner_$campo","style.backgroundImage","url('images/secure/?file=600/$imagen')"); $respuesta->addAssign("formUpload_$campo","innerHTML",""); return $respuesta; } else { $respuesta->addAssign("banner_$campo","style.backgroundImage","url('images/secure/?file=600/$imagen')"); $respuesta->addAssign("formUpload_$campo","innerHTML",""); return $respuesta; } } } $xajax->registerFunction("cambiar_imagen"); function limpiar_caracteres($valor){ $b=array("{","}","]","[",";","¡","!","¿","?","'",'"' ); $c=array(" "," "," "," "," "," "," "," ","'"," "); $resultado=str_replace($b,$c,$valor); return $resultado ; } function actualizar_campo($tabla,$key,$campo,$valor,$accion,$div) { $valor = limpiar_caracteres($valor); $respuesta = new xajaxResponse('utf-8'); $link=Conectarse(); mysqli_set_charset($link, "utf8"); $edit = "UPDATE $tabla SET $campo = '$valor' WHERE id = '$key' $accion limit 1; "; $sql=mysqli_query($link,$edit); if(mysqli_affected_rows($link) != 0){ } if($div !='') { $respuesta->addAssign($div,"innerHTML",$valor); } return $respuesta; } $xajax->registerFunction("actualizar_campo"); function eliminar_campo($tabla,$key,$div) { $key = limpiar_caracteres($key); $respuesta = new xajaxResponse('utf-8'); $link=Conectarse(); mysqli_set_charset($link, "utf8"); $borrar = "DELETE FROM $tabla WHERE id = '$key' limit 1"; // $edit = "UPDATE $tabla SET $campo = '$valor' WHERE id = '$key' limit 1; "; $sql=mysqli_query($link,$borrar); if(mysqli_affected_rows($link) != 0){ } if($div !='') { $respuesta->addAssign($div,"innerHTML",""); } return $respuesta; } $xajax->registerFunction("eliminar_campo"); function actualizar_linea($id,$tabla,$formulario,$div) { //$valores ="$formulario[0]"; $nombre = $formulario['nombre']; foreach($formulario as $c=>$v){ $valores .= " $c = '$v',"; } $valores = "$valores id_empresa = '$_SESSION[id_empresa]'"; $key = limpiar_caracteres($key); $respuesta = new xajaxResponse('utf-8'); $link=Conectarse(); mysqli_set_charset($link, "utf8"); //$insertar = "INSERT INTO $tabla set $valores"; $edit = "UPDATE $tabla SET $valores WHERE id = '$id' limit 1; "; $sql=mysqli_query($link,$edit); if(mysqli_affected_rows($link) != 0){ $respuesta->addAssign("$div","innerHTML","<div class='alert alert-success'>El registro se insertó con éxito </div>"); // return $respuesta; } else{ //$respuesta->addAlert("$consulta "); $respuesta->addAssign("$div","innerHTML","Problema al editar los datos"); // return $respuesta; } if($div !='') { //$respuesta->addAssign($div,"innerHTML",""); }else{ //$respuesta->addAlert("$insertar"); //$areas = tabla_areas('form_areas','id','nombre,descripcion,estado,orden','',"",'Areas',''); // $respuesta->addScript("javascript:xajax_tabla_areas('form_areas','id','nombre,descripcion,estado,orden','','','Areas','div_campos')"); $respuesta->addAssign("$div","innerHTML","$consulta"); } return $respuesta; } $xajax->registerFunction("actualizar_linea"); function insertar_campo($tabla,$formulario,$div) { //$valores ="$formulario[0]"; $nombre = $formulario['nombre']; foreach($formulario as $c=>$v){ $valores .= " $c = '$v',"; } $valores = "$valores id_empresa = '$_SESSION[id_empresa]'"; $key = limpiar_caracteres($key); $respuesta = new xajaxResponse('utf-8'); $link=Conectarse(); mysqli_set_charset($link, "utf8"); $insertar = "INSERT INTO $tabla set $valores"; // $edit = "UPDATE $tabla SET $campo = '$valor' WHERE id = '$key' limit 1; "; $sql=mysqli_query($link,$insertar); if(mysqli_affected_rows($link) != 0){ $respuesta->addAssign("$div","innerHTML","<div class='alert alert-success'>El registro se insertó con éxito </div>"); // return $respuesta; } else{ $respuesta->addAlert("$div","innerHTML","Problema al insertar el registro"); // return $respuesta; } if($div !='') { //$respuesta->addAssign($div,"innerHTML",""); } //$respuesta->addAlert("$insertar"); //$areas = tabla_areas('form_areas','id','nombre,descripcion,estado,orden','',"",'Areas',''); // $respuesta->addScript("javascript:xajax_tabla_areas('form_areas','id','nombre,descripcion,estado,orden','','','Areas','div_campos')"); // $respuesta->addAssign("$div","innerHTML","<div class='alert alert-success'>El registro se insertó con éxito</div>"); return $respuesta; } $xajax->registerFunction("insertar_campo"); function insertar_campo_area($tabla,$formulario,$div) { //$valores ="$formulario[0]"; $nombre = $formulario['nombre']; foreach($formulario as $c=>$v){ $valores .= " $c = '$v',"; } $valores = "$valores id_empresa = '$_SESSION[id_empresa]'"; $key = limpiar_caracteres($key); $respuesta = new xajaxResponse('utf-8'); $link=Conectarse(); mysqli_set_charset($link, "utf8"); $insertar = "INSERT INTO $tabla set $valores"; // $edit = "UPDATE $tabla SET $campo = '$valor' WHERE id = '$key' limit 1; "; $sql=mysqli_query($link,$insertar); if(mysqli_affected_rows($link) != 0){ } if($div !='') { //$respuesta->addAssign($div,"innerHTML",""); } //$respuesta->addAlert("$insertar"); //$areas = tabla_areas('form_areas','id','nombre,descripcion,estado,orden','',"",'Areas',''); $respuesta->addScript("javascript:xajax_tabla_areas('form_areas','id','nombre,descripcion,estado,orden','','','Areas','div_campos')"); //$respuesta->addAssign("contenido","innerHTML","$insertar"); return $respuesta; } $xajax->registerFunction("insertar_campo_area"); function update_campo($tabla,$key,$campo,$valor,$accion,$div,$indice,$onchange){ $link=Conectarse(); mysqli_set_charset($link, "utf8"); if($accion== "grabar"){ $edit = "UPDATE $tabla SET $campo = '".mysqli_real_escape_string($link,$valor)."' WHERE $indice = '$key' limit 1; "; $sql=mysqli_query($link,$edit); if(mysqli_affected_rows($link) != 0){ } // $campo = editar_campo("$tabla","$key","$campo","$valor","","","$indice"); $respuesta = new xajaxResponse('utf-8'); if($onchange =="") { $respuesta->addScript("javascript:location.reload(true);");; }else{$respuesta->addAssign($div,"innerHTML","");} // $respuesta->addAssign($div,"innerHTML",$edit); //$respuesta->addScript("$onchange"); return $respuesta; } } $xajax->registerFunction("update_campo"); function editar_campo($tabla,$key,$campo,$valor,$accion,$div,$indice){ //Definicion de variables //$accion = ""; $indice=$indice; $valor = str_replace('"',"'", $valor); if ( !isset ( $_SESSION['id'] ) ) { return;} if($indice =="") {$id = "id";} else {$id = "$indice";} ////NO SE PUEDE EDITAR EL CAMPO (id ) // if(@$div=='') {$div = "div_$tabla".$campo;} else {$div = $div;} $respuesta = new xajaxResponse('utf-8'); //$valor = limpiar_caracteres($valor); $link=Conectarse(); mysqli_set_charset($link, "utf8"); $consulta = "SELECT $id , $campo AS valor FROM $tabla WHERE $id = '$key' LIMIT 1"; $sql_consulta=mysqli_query($link,$consulta); $Valor = mysqli_result($sql_consulta,0,"valor"); if(@$accion == 'cerrar') { $campo = editar_campo("$tabla","$key","$campo","$valor","","","$indice"); $respuesta->addAssign($div,"innerHTML",$campo); return $respuesta; } elseif($accion=="input") { $size= strlen($Valor); $placeholder = strtoupper(limpiar_caracteres($campo)); $rrn = $div; if($size < 40) { $resultado = " <div class='input-group' > <span class='input-group-addon'> <a onclick=\"xajax_editar_campo('$tabla','$key','$campo','','cerrar','$div','$indice'); \"> <i class=' glyphicon glyphicon-remove-sign'></i> </a> <a onclick=\"xajax_editar_campo('$tabla','$key','$campo',(document.getElementById('".$campo."_".$id."".$rrn."').value),'grabar','$div','$indice'); \" > <i class='glyphicon glyphicon-floppy-disk'> </i> </a> </span> <input placeholder='$placeholder' class='form-control' style=' min-width:100px; margin-right:10px; display:inline; width:".$size."em;' type='text' value='$Valor' id='".$campo."_".$id."".$rrn."' name='".$campo."_".$id."".$rrn."' > </div> "; }else { $resultado = " <div class='' style='display:inline; border: solid 1px #BFBFBF ;'> <a onclick=\"xajax_editar_campo('$tabla','$key','$campo','$Valor','cerrar','$div','$indice'); \"> <i class=' glyphicon glyphicon-remove-sign'></i> </a> <a onclick=\"xajax_editar_campo('$tabla','$key','$campo',(document.getElementById('".$campo."_".$id."".$rrn."').value),'grabar','$div','$indice'); \" > <i class='glyphicon glyphicon-floppy-disk'> </i> </a> <textarea placeholder='$placeholder' class='form-control' id='".$campo."_".$id."".$rrn."' name='".$campo."_".$id."".$rrn."' >$Valor </textarea> </div> "; //$respuesta->addScript("(document.getElementById('".$campo."_".$id."".$rrn."').focus())"); } } elseif($accion== "grabar"){ $edit = "UPDATE $tabla SET $campo = '".mysqli_real_escape_string($link,$valor)."' WHERE $id = '$key' limit 1; "; $sql=mysqli_query($link,$edit); if(mysqli_affected_rows($link) != 0){ } $campo = editar_campo("$tabla","$key","$campo","$valor","","","$indice"); $respuesta->addAssign($div,"innerHTML",$campo); return $respuesta; } else{ if (mysqli_num_rows($sql_consulta)!='0'){ $valor=mysqli_result($sql_consulta,0,"valor"); /////// campos que no se muestran /// if($campo == 'id' OR $campo == 'id_usuario' OR $campo == 'id_grupo') { return ; } /////////// campos que se muestran para edicion ////////////// $title = strtoupper(limpiar_caracteres($campo)); $div= $campo."_".rand(123,9999); if($valor =="") {$aviso="<small>$title</small>";}else{$aviso ="";} $campo =" <div style='display:inline;' id='$div' title='EDITAR $title'> <a onclick=\"xajax_editar_campo('$tabla','$key','$campo','','input','$div','$indice') \" > <!-- <small><i class='glyphicon glyphicon-edit'></i></small> --> $valor $aviso</a> </div> "; } else {$campo = "";} return $campo; } $respuesta->addAssign($div,"innerHTML",$resultado); return $respuesta; } $xajax->registerFunction("editar_campo"); //@$impresion = formulario_imprimir("$id_form","$control","$plantilla",$timestamp).""; function formulario_imprimir($id,$control,$tipo,$timestamp) { $tiene_plantilla = remplacetas('form_parametrizacion','campo',$id,'descripcion'," tabla='form_id' and opcion = 'plantilla:$tipo'") ; $tiene_plantilla_original = $tiene_plantilla; $tiene_plantilla = $tiene_plantilla[0]; $control_existe = remplacetas('form_datos','control',"$control",'id',"") ; $contenido_full=""; if(strlen($control) > 32) { $identificador_original= $control; $key = substr($control, 32, $length = 40); $control = substr($control, 0, $length = 32); } else {$identificador_original = $control;} $resultado =""; $limit =""; if (@$timestamp != ""){$where_timestamp = "AND form_datos.timestamp = '$timestamp' ";}ELSE { $where_timestamp = ""; } if(is_numeric($tipo)) { $limit = "limit $tipo "; $class= "alert alert-info";} //if($control != "") { $w_control = "AND control = '$control' ";} $id = mysql_seguridad($id); //$control = mysql_seguridad($control); if($id =="") { $id_seguridad = remplacetas('form_datos','control',$control,'form_id','') ; $publico = remplacetas('form_id','id',$id_seguridad[0],'publico','') ; $id_seguridad = $id_seguridad[0]; }else{ $publico = remplacetas('form_id','id',$id,'publico','') ; $id_seguridad = $id; } $empresa_seguridad = remplacetas('form_id','id',$id_seguridad,'id_empresa','') ; if($publico[0] != "1" ){ $permiso_actual = remplacetas('form_permisos','control',"$control",'permiso',"") ; $permiso_vencimiento = remplacetas('form_permisos','control',"$control",'vencimiento',"") ; if($permiso_actual[0] =="") {$sigue_restringido = 1;} elseif($permiso_actual[0] != $key) {$sigue_restringido = 1;} elseif($permiso_vencimiento[0] < time()) {$sigue_restringido = 1;} else{$sigue_restringido ="";} } if($control_existe[0] ==""){return $control;} if($publico[0] != "1" and ( $_SESSION['id_empresa'] != $empresa_seguridad[0] ) AND $sigue_restringido !="" ) { $resultado ="<div class='alert alert-danger'><h6>Acceso restringido <small>Esta aplicación contiene datos privados </small> <i class='glyphicon glyphicon-lock'></i></h6></div>"; return $resultado; } //if($id !='') {$w_id = "AND form_id = '$id'";}else {$w_id='';} if($id !='') { $consulta = "SELECT * FROM form_contenido_campos , form_datos WHERE form_contenido_campos.id_campo = form_datos.id_campo AND form_datos.control = '$control' AND form_contenido_campos.id_form = '$id' $where_timestamp GROUP BY form_contenido_campos.id_campo,form_datos.orden ORDER BY form_contenido_campos.orden ASC $limit "; }else { $consulta = "SELECT *FROM form_contenido_campos , form_datos WHERE form_datos.control = '$control' AND form_contenido_campos.id_campo = form_datos.id_campo $where_timestamp GROUP BY form_contenido_campos.id_campo,form_datos.orden" ; } $control = mysql_seguridad($control); $link=Conectarse(); mysqli_set_charset($link, "utf8"); $sql=mysqli_query($link,$consulta); if($id !='') {$id = $id;}else {$id=mysqli_result($sql,0,"form_id");} $categoria_campo = remplacetas('form_parametrizacion','campo',$id,'descripcion'," tabla='form_id' and opcion = 'categoria:campo'") ; $categoria_campo = $categoria_campo[0]; $id_empresa = remplacetas('form_id','id',$id,'id_empresa','') ; if (mysqli_num_rows($sql)!='0'){ mysqli_data_seek($sql, 0); while( $row = mysqli_fetch_array( $sql ) ) { @$multiple =$row['multiple']; $campo_tipo = remplacetas('form_campos','id',$row['id_campo'],'campo_tipo',''); $campo_tipo =$campo_tipo[0]; $contenido = formulario_valor_campo("$id","$row[id_campo]","","$control",'',"$timestamp"); //$contenido= nl2br($contenido); $contenido_array = $contenido; $contenido_multiple= $contenido[10]; // $contenido = formulario_valor_campo("$id","$row[id_campo]","","$control"); $md5_contenido = $contenido[4]; $contenido_original = $contenido[3]; $contenido = $contenido[3]; $campo_nombre = remplacetas('form_campos','id',$row['id_campo'],'campo_nombre',''); if($campo_tipo=='20'){ $campo_nombre[0] = "";} $nombre[$row['id_campo']] = $campo_nombre[0] ; if($campo_tipo =='15' AND $tipo==""){ if($contenido !=""){ $contenido = "<img class='campo_imagen img img-responsive' style='width:100%' src='$_SESSION[url]/images/secure/?file=600/$contenido'> <a href='milfs/images/secure/?file=full/$contenido' target='imagen'> Mostrar <i class='glyphicon glyphicon-search-plus'></i></a> "; $laimagen = $contenido; } else{$contenido=""; $laimagen="";} }elseif($campo_tipo =='15' ){ if($contenido !=""){ //$imagen = "<img class='img img-responsive' src='$_SESSION[url]milfs/images/secure/?file=600/$contenido'>"; $laimagen = $contenido; }else{$imagen=""; $laimagen="";} } elseif($campo_tipo=='29'){ $contenido="<img class='img img-responsive' src='$contenido'>"; } elseif($campo_tipo=='14'){ if($contenido !='') { $campos = explode(" ",$contenido); $lat = $campos[0]; $lon = $campos[1]; $zoom = $campos[2]; if($zoom < 4) { $zoom = 8;} @include("includes/datos.php"); $error_token =""; if(!isset($mapbox_token)) { include("milfs/includes/datos.php"); if(!isset($mapbox_token)) {$error_token = 1; }} if($error_token != 1) { $url_pin = urlencode("$_SESSION[site]milfs/images/iconos/pin.png"); $contenido = " <img class='xx mapa_estatico lazy img img-rounded img-responsive' style='' src ='https://staticmap.openstreetmap.co/staticmap.php?center=$lon,$lat&zoom=$zoom&size=1000x100&maptype=mapnik&markers=$lon,$lat,red-pushpin' > <a href='https://www.openstreetmap.org/?mlat=$lon&mlon=$lat#map=$zoom/$lon/$lat' target='mapa'>Ampliar mapa </a> "; }else{ $contenido ="<div class='alert alert-danger'>No se ha definido un token de mapbox</div>";} } } elseif($campo_tipo=='4'){ if($tipo=="array"){ $contenido = $contenido;}else { $contenido = "<a href='$contenido' target='_blank'>$contenido</a>";}} elseif($campo_tipo=='18'){ $contenido = "";} elseif($campo_tipo=='20'){ $contenido = ""; $campo_nombre[0]="";} elseif($campo_tipo=='23'){ $funcion = remplacetas("form_campos_valores","id_form_campo","$row[id_campo]","campo_valor",""); eval("\$contenido = ".$funcion[0].";"); $contenido .= ""; } elseif($campo_tipo=='6'){ $contenido = imprimir_buscador_campo($row['id_campo'],$contenido,''); } elseif($campo_tipo=='21'){ $contenido = imprimir_base($row['id_campo'],$contenido); } elseif($campo_tipo=='10'){ $valor_actual = relacion_render("$id","$row[id_campo]",$contenido,'5',''); $contenido = "$valor_actual";} 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"; $campo_nombre[0] ="";} elseif($campo_tipo =='31'){ if($multiple=="1") { /* foreach ($contenido[9] as $id_campo => $valor) { $contenido_matriz .= "<li>$id_campo : $valor</li>"; $valor_actual = json_render("$contenido","html","$control"); } $contenido=$contenido_matriz;*/ $valor_actual = json_tabla("$contenido_array[9]","$row[id_campo]","$control"); $contenido=$valor_actual; } @include("includes/datos.php"); $link_url = "$url"."milfs/archivos/?archivo=$contenido"; $contenido = "<a id='link_$row[id_campo]_$row[orden]_formulario_imprimir' href='$link_url' target='_blank' >$contenido</a>"; } elseif($campo_tipo=='24' ){ $contenido = stripslashes($contenido); $contenido_full = json_render("$contenido","csv","$control"); $valor_actual = json_render("$contenido","csv","$control"); $contenido = "$valor_actual"; $campo_nombre[0] ="";} elseif($campo_tipo=='34') { if($contenido !=""){ $contenido = stripslashes($contenido); $contenido_array = json_decode($contenido,true); $array =$contenido_array[$row['id_campo']][0]; $contenido = campo_tabla($array,$control,$tipo).""; //$contenido_full = json_render("$contenido","csv","$control"); // $valor_actual = json_render("$contenido","html","$control"); //$contenido = "$valor_actual"; } } elseif($campo_tipo=='5' AND $contenido !=""){ if($tipo =="") { $contenido = trim($contenido); $contenido = " <iframe width='100%' height='100%' class= 'iframe-media' src=\"$contenido\" frameborder='0' allowFullScreen ></iframe>"; }else { // $contenido =$contenido; $contenido = trim($contenido); $contenido = " <iframe width='100%' height='100%' class= 'iframe-media' src=\"$contenido\" frameborder='0' allowFullScreen ></iframe>"; } } elseif(($campo_tipo=='2' or $campo_tipo =='17') AND $contenido !=""){ //$contenido= nl2br("$contenido"); //$contenido = Markdown($contenido); //$contenido= nl2br("$contenido"); $contenido = stripslashes("$contenido"); $contenido = preg_replace('/<br\s?\/?>/i', "\r\n", "$contenido"); $Parsedown = new Parsedown(); $contenido = $Parsedown->text("$contenido"); //$contenido= $contenido_original; } elseif(($campo_tipo=='2' OR $campo_tipo=='7' OR $campo_tipo=='1' OR $campo_tipo=='17')AND $contenido !=""){ $contenido= html_entity_decode(stripslashes("$contenido")); } else { $html ="$contenido"; //$contenido = nl2br($html); //$contenido = Markdown($contenido); $contenido= $contenido; } //////} if($campo_nombre[0] !=""){ $campo_nombre[0] = "$campo_nombre[0] :";} ////buscar campo imagen $campo_imagen = buscar_campo_tipo($id,"15"); //$campo_imagen_nombre = $campo_imagen[1]; $campo_imagen = $campo_imagen[0]; //// if($row['id_campo'] == $campo_imagen AND $tipo !="" ){ if($tiene_plantilla ==''){ $contenido = "<img class='imagen_sin_plantilla img img-rounded img img-responsive' style='' src='$_SESSION[url]/images/secure/?file=600/$contenido'>"; }else{ $contenido = strip_tags($contenido).""; } //$contenido = "<img class='img img-responsive' style='' src='$_SESSION[url]/images/secure/?file=600/$contenido'>"; } $campo[$row['id_campo']]=$contenido; $caracteres = strlen("$contenido"); $campo_400[$row['id_campo']] = substr($contenido,0, $length = 400);//$contenido; if($caracteres > 440) { $campo_400[$row['id_campo']] .= "... <button type='button' class='btn btn-link' data-html='true' data-toggle='tooltip' data-placement='top' title='$contenido'>[+]</button>"; } $campo_80[$row['id_campo']] = substr($contenido,0, $length = 80);//$contenido; if($caracteres > 80) { $campo_80[$row['id_campo']] .= "... <button type='button' class='btn btn-link' data-html='true' data-toggle='tooltip' data-placement='top' title='$contenido'>[+]</button>"; } $campo_55[$row['id_campo']] = substr($contenido,0, $length = 55);//$contenido; if($caracteres > 55) { $campo_55[$row['id_campo']] .= "... <button type='button' class='btn btn-link' data-html='true' data-toggle='tooltip' data-placement='top' title='$contenido'>[+]</button>"; } $campo_full[$row['id_campo']] = $contenido_full; $campo_limpio[$row['id_campo']] = trim(strip_tags($contenido," ")); $campo_multiple[$row['id_campo']] = $contenido; $campo_limpio_80[$row['id_campo']] = strip_tags($contenido); $fecha = date ( "Y-m-d h:i:s" , $row['timestamp'] ); $id_empresa = $empresa_seguridad[0]; $razon_social = remplacetas('empresa','id',"$id_empresa",'razon_social','') ; $proyecto_nombre = $razon_social[0]; $slogan = remplacetas('empresa','id',"$id_empresa",'slogan','') ; $proyecto_slogan = $slogan[0]; $web = remplacetas('empresa','id',"$id_empresa",'web',''); $proyecto_web = $web[0]; $logo = remplacetas('empresa','id',"$id_empresa",'imagen','') ; $proyecto_logo = $logo[0]; $campo["md5_".$row['id_campo']]=$md5_contenido; if($row['id_campo'] == $categoria_campo){ $categoria_filtro = remplacetas('form_parametrizacion','campo',$id,'descripcion',"tabla='form_id' and opcion = 'categoria:filtro:$row[id_campo]'") ; $filtro = $categoria_filtro; $categoria_filtro = $categoria_filtro[0]; $icono = remplacetas('form_parametrizacion','campo',$id,'descripcion'," tabla='form_id' and opcion = 'categoria:icon:$md5_contenido'") ; if($icono[0] =='') { //$icon = "http://$_SERVER[HTTP_HOST]/milfs/images/pin.png"; $url_pin = urlencode("$_SESSION[site]milfs/images/iconos/pin.png"); $icon = "$_SESSION[site]milfs/images/iconos/pin.png"; }else{ $icon = $icono[0]; } $icono = "$icon"; //$array[icon][iconSize] =[50,50]; }else{} $array = array(); if($contenido_original !="") { //// si el campo es tipo password (18) no se muestra if($campo_tipo !='18'){ if(isset($_REQUEST['metadatos'])){$tipo="metadatos";} if($tipo == "metadatos"){ $metadatos = " ".date('Y-m-d H:i:s',$contenido_array[1])." id $contenido_array[0] proceso $contenido_array[5] usuario $contenido_array[6] ip ".long2ip($contenido_array[7])." campo $row[id_campo] "; }else {$metadatos='';} $resultado .= " <div id='contenedor_$row[id_campo]' class=' contenedor_campo '> <pdata-toc-skip class='campo_contenido tipo_$campo_tipo' id='contenido_$row[id_campo]'> <label type= '$campo_tipo' class=' campo_titulo campo_nombre' id='nombre_$row[id_campo]'>$campo_nombre[0]</label> <span class='contenido_item '>$contenido <span class=' pull-right'> $metadatos </span> </div>"; } $array_contenido[$campo_nombre[0]][] = $contenido; } } $array=$array_contenido; //$resultado .=" </div> <!-- <div class='badge pull-right'>Datos registrados el $fecha </div> --> "; //}else {$resultado ="<div class='alert alert-warning'><h1>No se encontraron resultados</h1></div>"; return $resultado;} //if($id=="6" OR $id=="10") { $plantilla=""; $class=""; if($tipo =="array") { return $array; } if($tipo !="" AND (!is_numeric($tipo)) AND $tipo !="metadatos" ) { ////Usa una plantilla apra cada id $plantilla = remplacetas('form_parametrizacion','campo',$id,'descripcion'," tabla='form_id' and opcion = 'plantilla:$tipo'") ; $plantilla_buscada = $plantilla; $plantilla = $plantilla[0]; if($plantilla =="") { ///Usa una plantilla generica por nombre $plantilla = remplacetas('form_parametrizacion','opcion',"plantilla:$tipo",'descripcion',"campo = ''") ; $plantilla = $plantilla[0]; //$plantilla = remplacetas('parametrizacion','opcion',"plantilla:$tipo",'descripcion',"campo = '$id' ") ; } if($plantilla !='') { $plantilla = html_entity_decode ( $plantilla );} /*else { $plantilla = remplacetas('parametrizacion','opcion',"plantilla:$tipo",'descripcion',"") ; $plantilla= $plantilla[0]; } */ } if($tiene_plantilla != ""){ @eval("\$plantilla = \"$plantilla \";"); $full ="$plantilla"; /// $full = preg_replace("/<[^\/][^<>]*> *<\/[^<>]*>/", "", $full ); }else { $full= "<div class='full_identificador $class container'>$resultado </div>"; } $resultado ="$full"; return $resultado; // }else {$resultado ="<div class='alert alert-warning'><h1>No se encontraron resultados</h1></div>"; return $resultado;} }else {$resultado =""; return $resultado;} } function subir_imagen($respuesta,$id,$tipo){ $resultado =""; ///vinculado con la funcion de javascript resultadoUpload(estado, file) que esta en librerias/scripts.js if($id =="") { $empresa = $_SESSION['id_empresa']; $javascript = "../milfs/includes/upload.php"; $path = "milfs/"; } else { $id_empresa = remplacetas('form_id','id',"$respuesta",'id_empresa',''); $empresa= $id_empresa[0]; $web = remplacetas('empresa','id',"$empresa",'web',''); if($tipo =="milfs"){ $path = "../milfs/"; $javascript = "../milfs/includes/upload.php"; }else{ $path = "milfs/"; $javascript = "milfs/includes/upload.php"; } } $campo_mapa = buscar_campo_tipo($respuesta,"14"); $campo_mapa = $campo_mapa[0]; if ($id ==''){$id='imagen';} $size = ($_SESSION['upload_size']*1024*1024)." bytes"; $resultado =" <form autocomplete='off' method='post' class='' enctype='multipart/form-data' action= ' $javascript ' target='iframeUpload' class='form-horizontal' name='subir_imagen_$id' id='subir_imagen_$id' > <input type='hidden' id='id_imagen' name='id_imagen' value='$id'> <input type='hidden' id='path' name='path' value='$path'> <input type='hidden' id='campo_mapa' name='campo_mapa' value='$campo_mapa'> <input class='form-control' name='fileUpload' type='file' onchange=\"this.form.taget= 'iframeUpload'; this.form.action = '$javascript';this.form.submit();\" /> <iframe name='iframeUpload' style='display:none;' ></iframe> <div class='alert alert-info text-center' id='formUpload_$id'>La imagen debe estar en formato .jpg y de tamaño máximo $_SESSION[upload_size] MB ( $size)</div> </form> "; return $resultado; } function formulario_importador($accion) { if($accion =='') { $resultado="<a href='#' onclick =\"xajax_wait('contenido',''); xajax_formulario_importador('formulario'); \"><i class='glyphicon glyphicon-upload'></i> Importador</a>"; return $resultado; } $respuesta = new xajaxResponse('utf-8'); $formulariox =formulario_importar('','menu',''); $resultado="$formulariox <div id='importador' name='importador'></div> "; $respuesta->addAssign("contenido","innerHTML","$resultado"); return $respuesta; } $xajax->registerFunction("formulario_importador"); function subir_archivo($perfil){ ///vinculado con la funcion de javascript resultadoUpload(estado, file) que esta en librerias/scripts.js //$empresa = remplacetas('form_id','id',"$perfil",'id_empresa',''); //$web = remplacetas('empresa','id',"$empresa[0]",'web',''); $id_empresa = remplacetas('form_id','id',"$respuesta",'id_empresa',''); $empresa= $id_empresa[0]; $web = remplacetas('empresa','id',"$empresa",'web',''); $javascript = "includes/upload_archivo.php"; $path = "//$web[0]/milfs/"; ///$javascript="https://tupale.co/milfs/includes/upload_archivo.php"; $resultado =" <form autocomplete='off' method='post' enctype='multipart/form-data' action= $javascript target='iframeUploadArchivo'> <input type='hidden' id='path' name='path' value='$path'> <input id='perfil' name='perfil' value='$perfil' type='hidden' > <input class='form-control' name='fileUpload' type='file' onchange=\"submit()\" /> <iframe name='iframeUploadArchivo' style='display:none' ></iframe> <div style='display:inline' id='aviso_archivo'>Máximo 1MB </div> </form> "; return $resultado; } /* function formularios_muestra_listado($formulario){ if($formulario==''){ $link=Conectarse(); mysqli_set_charset($link, "utf8"); $consulta = "SELECT * FROM form_id WHERE id_empresa = '$_SESSION[id_empresa]' ORDER BY nombre "; $sql=mysqli_query($link,$consulta); if (mysqli_num_rows($sql)!='0'){ mysqli_data_seek($sql, 0); $resultado .="<select class='form-control' id='seleccion_formulario' name='seleccion_formulario' onchange =\" xajax_formularios_muestra_listado((this.value)) \" >"; $resultado .= "<option value=''>Seleccionar formulario a importar</option>"; $fila=0; while( $row = mysqli_fetch_array( $sql ) ) { $fila = $fila +1; if ($fila %2 == 0){$bg='LightCyan';}else{ $bg='FFFFFF';} $resultado .= "<option value='$row[id]'> $row[nombre]</option>"; } $resultado .="</select><br>"; }else {$resultado = "";} return $resultado; }else{ $respuesta = new xajaxResponse('utf-8'); $subir = subir_archivo($formulario) ; $div="importador_select"; $resultado .= "$subir"; $respuesta->addAssign($div,"innerHTML",$resultado); $respuesta->addAssign("importador_archivo","innerHTML",""); return $respuesta; } } $xajax->registerFunction("formularios_muestra_listado"); */ function formulario_importar_subir($formulario){ $pie=""; $respuesta = new xajaxResponse('utf-8'); $formulario_nombre = remplacetas('form_id','id',$formulario,'nombre','') ; //$formulario_descripcion = remplacetas('form_id','id',$formulario,'descripcion','') ; $encabezado = "<h3>Importar <small>$formulario_nombre[0]</small></h3>"; $subir = subir_archivo($formulario) ; $div="contenido"; $muestra_form = " <div class='container-fluid' id='contenedor_datos' > <input type='hidden' value='$formulario' id='seleccion_formulario' name='seleccion_formulario' >$subir</div> <div id=importador_select name=importador_select></div> <div id=importador_archivo name=importador_archivo></div> "; $respuesta->addAssign("muestra_form","innerHTML","$muestra_form"); $respuesta->addAssign("titulo_modal","innerHTML","$encabezado"); $respuesta->addAssign("pie_modal","innerHTML","$pie"); $respuesta->addscript("$('#muestraInfo').modal('toggle')"); return $respuesta; } $xajax->registerFunction("formulario_importar_subir"); function formulario_importar($filename,$accion,$perfil){ $formulario = ""; $consulta = ""; $div = "importador_archivo"; $respuesta = new xajaxResponse('utf-8'); $link=Conectarse(); mysqli_set_charset($link, "utf8"); $resultado = " <div class='container-fluid' style='overflow:auto; height:400px; ' id='div_resultados'> <table class='table table-bordered table-striped table-responsive '> <legend>Importando formulario</legend>"; $nombre = "/tmp/$filename"; if($accion == "grabar") { } if (($handle = fopen($nombre, 'r')) !== FALSE) { $fila= 0; set_time_limit(0); while (($datos = fgetcsv($handle,0,"|")) !== FALSE) { $numero = count($datos); if($fila >=1) { $resultado .= "<tr>"; $numero_columna = 0; if($campo[0] =="control") { $controlcito= "$datos[0]"; }else{$controlcito="";} if($campo[1] =="equipo") { $equipo= "$datos[1]"; }else{ if( isset($_SESSION['equipo'])) { $equipo = $_SESSION['equipo']; }else{$equipo=NULL;} } if($campo[2] =="timestamp") { $timestamp= "$datos[2]"; $w_timestamp = "timestamp = '$timestamp',"; }else{ $w_timestamp ="timestamp= '".time()."',"; } for ($c=0; $c < $numero; $c++) { $columna = $datos[$c]; if($columna !=""){ if($controlcito !="") { $control="$controlcito";}else{ $control=md5($perfil.$fila.time()); } if($accion === "grabar"){ //$control=md5($perfil.$fila.time()); $ip = obtener_ip(); $graba_ip = " ip = INET_ATON('".$ip."') "; $consulta_campos = "INSERT INTO form_datos SET $w_timestamp id_usuario='$_SESSION[id]',id_empresa='$_SESSION[id_empresa]',form_id ='$perfil', $graba_ip , control = '$control', $consulta id_campo = '$campo[$numero_columna]' , contenido = '$columna', equipo = '$equipo'"; // $verificar_campo = formulario_verificar_campo($perfil,$campo[$numero_columna]); $elregistro= $campo[$numero_columna]; //if($verificar_campo == NULL){}else{ if(is_numeric($elregistro)) { $elregistro =$elregistro;}else {$elregistro = -9;} //$verificar_campo = formulario_verificar_campo($perfil,$titulo); $campo_existe = remplacetas('form_campos','id',$elregistro,'campo_nombre',''); if($campo_existe[0] == ""){}else{ $sql = mysqli_query($link,$consulta_campos); if($sql) { $class='success'; $sql_resultado = "<i class='fa fa-check-square-o'></i>"; $resultado = "GRABADO $fila".time(); //$sql_resultado = "oK"; } else { $class='danger'; } } } } //$resultado .= "<td >$columna ( $control ) //- $controlcito - // $sql_resultado </td>"; $numero_columna ++; } $resultado .= "<tr>"; } else { $resultado .= "<thead><tr>"; $posicion = 0; for ($c=0; $c < $numero; $c++) { $titulo = $datos[$c] ; $campo[$posicion] = $datos[$c]; if(($titulo != "equipo") and ($titulo != "control" ) and ($titulo != "timestamp" ) ) { if(is_numeric($titulo)) { $titulo =$titulo;}else {$titulo = -9;} $verificar_campo = formulario_verificar_campo($perfil,$titulo); $campo_existe = remplacetas('form_campos','id',$titulo,'campo_nombre',''); if($verificar_campo == NULL){$verificar_campo_aviso ="<i class='glyphicon glyphicon-frown-o'></i><small> No existe<br></small>"; $class='danger'; if($campo_existe[0] !='') { $verificar_campo_aviso ="<i class='glyphicon glyphicon-exclamation-triangle'></i><small> No está en el formulario<br></small>";$class='warning';} } else{$verificar_campo_aviso =""; $class='success';} }else{$verificar_campo_aviso =""; $class='success';} $resultado .= "<th class='$class'>$titulo $campo_existe[0]<br><span class='badge'>$verificar_campo_aviso</span> </th>"; $posicion ++; } $resultado .= "<tr></thead>"; } $fila++; } $resultado .= "</table> </div> $fila ".time()." " ; } $respuesta->addAssign($div,"innerHTML",$resultado); return $respuesta; } $xajax->registerFunction("formulario_importar"); function formulario_verificar_campo($perfil,$id_campo){ $link=Conectarse(); mysqli_set_charset($link, "utf8"); $consulta = "SELECT * FROM `form_contenido_campos` WHERE `id_form` = '$perfil' AND id_campo='$id_campo'"; $sql =mysqli_query($link,$consulta); $cant =mysqli_num_rows($sql); if (mysqli_num_rows($sql) == '0'){ $existe = NULL; }else { $control=mysqli_result($sql,0,"control"); $obligatorio=mysqli_result($sql,0,"obligatorio"); $existe[]= $control; $existe[]= $obligatorio; $existe[]= $consulta; } return $existe; } function borrar_tmp($div) { if($div =='') { $div="borra_tmp"; $resultado ="<a href='#' onclick =\"xajax_borrar_tmp('$div');\">Limpiar</a>"; return $resultado ; } $dir = "tmp/"; $ficheroseliminados= 0; $handle = opendir($dir); while ($file = readdir($handle)) { if (is_file($dir.$file)) { if ( unlink($dir.$file) ){ $ficheroseliminados++; } } } $fecha = time (); $ahora = date ( "Y-m-d h:i:s" , $fecha ); $resultado ="<div class='btn navbar-btn btn-warning' onclick =\"xajax_borrar_tmp('$div');\" ><i class='glyphicon glyphicon-trash'></i><small> $ahora<small></div>"; $respuesta = new xajaxResponse('utf-8'); $respuesta->addAssign($div,"innerHTML",$resultado); return $respuesta; } $xajax->registerFunction("borrar_tmp"); function formulario_imprimir_linea($id,$control,$tipo) { $autorizado= '1'; $td=""; $leyenda=""; $lazy="lazy"; $resultado=""; $limit=""; $identificador=""; $print=""; $interaccion_campo=""; $campo_interaccion=""; $interaccion_form=""; $respuestas=""; $imagen=""; if($id =="" AND $control !=""){ $id = remplacetas('form_datos','control',$control,'form_id',"") ; $id=$id[0]; } //$formulario_anidado = remplacetas('form_id','formulario_respuesta',$id,'id','') ; $id = mysql_seguridad($id); $tipo_original = $tipo; if(is_array($tipo_original) and $tipo[0]=='interaccion_linea'){ if($tipo[1] !=""){ $campo_interaccion = $tipo[1]; $area = "$tipo_original[2]"; if($area !=""){ $consulta_area= "SELECT * FROM form_datos,form_campos WHERE form_datos.form_id = '$id' AND form_datos.id_campo=form_campos.id AND (form_campos.campo_area = '$area' OR form_campos.id='$campo_interaccion' )AND control = '$control' GROUP BY id_campo "; } $interaccion_campo =interaccion_identificador("$control","",'check',"$tipo[1]");//""; $clase_interaccion="warning"; }else{ $interaccion_form =interaccion_identificador("$control",'','check','');//""; $campo_interaccion=""; } $tipo ="linea_planilla"; }elseif(is_array($tipo_original) and $tipo[0]=='titulos'){ $tipo='titulos'; $campo_interaccion = "$tipo_original[1]"; $area = "$tipo_original[2]"; if($area !=""){ $consulta_area= "SELECT * FROM form_datos,form_campos WHERE form_datos.form_id = '$id' AND form_datos.id_campo=form_campos.id AND (form_campos.campo_area = '$area' OR form_campos.id='$campo_interaccion' ) GROUP BY id_campo ";} } elseif(is_array($tipo_original) and $tipo[0]=='linea_planilla'){ $tipo ="linea_planilla"; $campo_interaccion=""; } else{} $csv =""; //if($id !='') {$w_id = "AND form_id = '$id'";} $control = mysql_seguridad($control); /* $consulta = "SELECT * FROM form_contenido_campos WHERE form_contenido_campos.id_form = '$id' ORDER BY form_contenido_campos.orden ASC "; */ if($id !='') { /* $consulta = "SELECT * FROM form_contenido_campos WHERE form_contenido_campos.id_form = '$id' ORDER BY form_contenido_campos.orden ASC $limit ";*/ $consulta = "SELECT * FROM form_contenido_campos,form_campos WHERE form_contenido_campos.id_campo = form_campos.id AND form_contenido_campos.id_form = '$id' ORDER BY form_contenido_campos.orden ASC $limit "; }else { // $consulta = "SELECT * FROM form_datos WHERE control = '$control' GROUP BY id_campo" ; $consulta = "SELECT * FROM form_datos,form_campos WHERE form_datos.form_id = '$id' AND form_datos.id_campo=form_campos.id and form_datos.control = '$control' GROUP BY id_campo" ; } //if($consulta_area !=""){ $consulta= $consulta_area;} $link=Conectarse(); mysqli_set_charset($link, "utf8"); $sql=mysqli_query($link,$consulta); /// si se pregunta por un formulario con $id // sino se consulta el id a partir del control if($id !='') {$id = $id;}else {$id=mysqli_result($sql,0,"form_id");} $categoria_campo = remplacetas('form_parametrizacion','campo',$id,'descripcion'," tabla='form_id' and opcion = 'categoria:campo'") ; $categoria_campo = $categoria_campo[0]; $titulo = remplacetas('form_parametrizacion','campo',$id,'descripcion'," tabla='form_id' and opcion = 'titulo'") ; $titulo = $titulo[0]; $timestamp=mysqli_result($sql,0,"timestamp"); $fecha = date ( "Y-m-d h:i:s" , $timestamp); //// privacidad del formulario $publico = remplacetas('form_id','id',"$id",'publico',"") ; $propietario = remplacetas('form_id','id',$id,'propietario',"") ; $empresa = remplacetas("form_id","id","$id","id_empresa",""); if(isset($_SESSION['id_empresa'])){$id_empresa = $_SESSION['id_empresa'];}else{ $id_empresa='';} if($publico[0] == 0 AND ( $id_empresa != $empresa[0])) { $autorizado='0'; } /// privacidad del formulario if (mysqli_num_rows($sql)!='0'){ mysqli_data_seek($sql, 0); // $resultado ="<tr >"; $imagen = formulario_valor_campo("$id","0","","$control","",""); $imagen = $imagen[3]; if($imagen[3] != null AND $tipo !='titulos') { $array['image']=$imagen; $imagen_icon="secure/?file=150/$imagen"; $imagen= "<img class='thumbnail $lazy' data-src='images/secure/?file=150/$imagen' src='images/secure/?file=150/$imagen' alt='$imagen' style='max-width:100px;' title='$imagen'>"; $td .= "<td class='planilla_contenido_$control' >$imagen</td>"; }else {$imagen='';} if(!isset($_REQUEST['print'])) { $data_src= "data-src"; $src ="src";}else{ $src =" "; $data_src =" print src"; } //return " id= $id // $consulta" ;//print_r($tipo_original); while( $row = mysqli_fetch_array( $sql ) ) { $respuestas = respuestas_formulario("$id","$control",''); //// PRIVACIDAD del campo $equipo = remplacetas('form_datos','control',$control,'equipo',"") ; $privado = remplacetas('form_parametrizacion','campo',"$id",'opcion'," tabla='form_id' AND descripcion ='$row[id_campo]' AND opcion REGEXP '^privacidad:' ") ; $privacidad = $privado; $privado = explode(":",$privado[0]); if(isset($_SESSION['id_empresa'])){ $empresa_session = "$_SESSION[id_empresa]";}else{ $empresa_session ="";} if(isset($privado[1]) and $empresa_session != $empresa[0] ) { $autorizado = '0';}else{$autorizado='1';} /// PRIVACIDAD del campo $campo_area =$row['campo_area']; if($row['id_campo'] == $campo_interaccion){$interaccion = $interaccion_campo; $col_checkeo_td ="<td class=' col_$row[id_campo] planilla_contenido_$row[id_campo] $clase_interaccion $class_area'>$interaccion_form $interaccion</td>"; $clase_interaccion="warning";} else{ $interaccion=""; $clase_interaccion="";} if($campo_interaccion !=""){ if(($area !="") AND $row['campo_area'] == $area or ($row['id_campo'] == $campo_interaccion)){$class_area = "info" ;}else{ $class_area="hidden $area area_$row[campo_area]"; } }else{ $class_area = "visible" ; } $checkin = remplacetas('form_parametrizacion','item',$control,'timestamp'," opcion ='1' AND descripcion ='$row[id_campo]'"); if($checkin[0] !=""){ $checkin= "$checkin[0]";}else{$checkin="";} if($tipo_original[3] =="checkeo"){ $col_checkeo_titulo ="<th class='col_$row[id_campo] planilla_titulo_$row[id_campo] $clase_interaccion $class_area'></th>"; $col_checkeo_td ="<td class='col_$row[id_campo] planilla_contenido_$row[id_campo] $clase_interaccion $class_area'>$checkin $interaccion</td>";} else{$col_checkeo_titulo =""; $col_checkeo_td ="";} if($row['campo_tipo'] == 18){$class_area = "hidden" ;}else{ $class_area=$class_area; } $campo_tipo = remplacetas('form_campos','id',$row['id_campo'],'campo_tipo',""); $campo_tipo =$campo_tipo[0]; $contenido = formulario_valor_campo("$id","$row[id_campo]","","$control",'',""); //return "$row[id_campo]"; $contenido_completo= $contenido[3]; $md5_contenido = $contenido[4]; //md5(binary contenido) as md5_contenido, $contenido_original = $contenido; //$control = $contenido[0]; $contenido = $contenido[3]; $campo_nombre = remplacetas('form_campos','id',$row['id_campo'],'campo_nombre',""); $campo_nombre[0] =" $campo_nombre[0]"; //// inicio de los tipos // inicio autorizacion if ($autorizado != '0'){ if($tipo=="titulos") { $contenido = "$campo_nombre[0] "; } elseif($tipo=="titulos_csv"){ $csv .= '"'.$campo_nombre[0].'";'; } elseif($tipo=="linea_csv"){ $csv .= '"'.$contenido.'";'; } elseif($tipo=="linea_planilla"){ if($contenido !="") { $limite = 100; $size= strlen($contenido); $restante = ($limite - $size); if($size > $limite) { $contenido = substr($contenido,0, $length = 300)."... ";//$contenido; } if($campo_tipo=='15' ){ if( $tipo=="") { $size="300"; }else { $size="150" ; } if($contenido !=""){$contenido = "<img class=' $lazy img img-responsive img-rounded' $src='milfs/images/sinimagen_$size.jpg' $data_src='$_SESSION[site]milfs/images/secure/?file=$size/$contenido' style='max-height: $size"."px !important;' >"; } else{$contenido=" ";} } elseif($campo_tipo=='14'){ if($contenido !='') { $campos = explode(" ",$contenido); $lat = $campos[0]; $lon = $campos[1]; $zoom = $campos[2]; //@require("includes/datos.php"); //$url_pin =urlencode("$_SESSION[site]milfs/images/iconos/pin.png"); //https://staticmap.openstreetmap.co/staticmap.php?center=40.714728,-73.998672&zoom=14&size=865x512&maptype=mapnik $contenido = " <img class='mapa_estatico mapa_estatico_planilla $lazy img-rounded img img-responsive' style='max-height: 100px !important;' $src='milfs/images/sinimagen_150.jpg' $data_src='https://staticmap.openstreetmap.co/staticmap.php?center=$lon,$lat&zoom=$zoom&size=250x100&maptype=mapnik&markers=$lon,$lat,red-pushpin' > <a class='link_mapa' href='https://www.openstreetmap.org/?mlat=$lon&mlon=$lat#map=$zoom/$lon/$lat' target='mapa'>Ampliar mapa </a>"; } else { $contenido =' ';} //return "vacio"; } elseif($campo_tipo=='4'){ $contenido = "<a href='$contenido' target='_blank'>$contenido</a>";} elseif($campo_tipo=='18'){ $contenido = " ";} elseif($campo_tipo=='3' AND $contenido !=""){ $contenido = $contenido;} elseif($campo_tipo =="6" ) {$contenido =imprimir_buscador_campo($row[id_campo],$contenido) ;} elseif($campo_tipo=='29'){ $contenido="<img style=' max-height: 100px;' class='img img-responsive' src='$contenido_completo'>";} elseif($campo_tipo=='30'){ $contenido= json_render("$contenido_completo","html","$control");} elseif($campo_tipo=='24'){ $contenido= json_render("$contenido_completo","csv","$control");} elseif($campo_tipo=='30'){ $contenido= json_render("$contenido_completo","csv","$control");} elseif($campo_tipo=='10'){ // $valor_actual = relacion_render("$formulario","$id_campo","$row[contenido]",'0','relacion_drop'); $contenido = relacion_render("$id","$row[id_campo]",$contenido,'5','relacion_print'); //$contenido= json_render("$contenido_completo","html","$control");} //json_render("$valor","csv","$control"); } else { $contenido = $contenido;//Markdown(strip_tags ($contenido)); } $csv .= "<td style ='max-width:200px;' class='col_$row[id_campo] planilla_contenido_$row[id_campo] $clase_interaccion $class_area'>$contenido</td>$col_checkeo_td"; } else{ $csv.="<td style ='max-width:200px;' class='col_$row[id_campo] planilla_contenido_$row[id_campo] $class_area $clase_interaccion'></td> $col_checkeo_td"; } } elseif($tipo=="galeria"){ if($campo_tipo=='15' ){ $size="600" ; if($contenido !=""){ $imagen = "<img id='imagen_$row[id_campo]_$control' class='img-responsive imagen_galeria img img-rounded $lazy ' src='milfs/images/sinimagen_600.jpg' data-src='$_SESSION[site]milfs/images/secure/?file=$size/$contenido' >"; $contenido =""; } else{$contenido=" ";} }else{ $leyenda .="<li id='li_$row[id_campo]_$control' class='li_campo_galeria list-group-item text-left'><p>$campo_nombre[0]: <strong class='contenido_campo_galeria' >$contenido</strong></p></li>";} } elseif($tipo=="voyeur"){ if($campo_tipo=='15' ){ $size="600" ; if($contenido !=""){ $imagen = "<img id='imagen_$row[id_campo]_$control' class='center-block img-responsive imagen_galeria img img-rounded $lazy ' src='milfs/images/sinimagen_600.jpg' data-src='$_SESSION[site]milfs/images/secure/?file=$size/$contenido' >"; $contenido ="imagen"; } else{$contenido=" ";} }else{ $leyenda .="<li id='li_$row[id_campo]_$control' class='li_campo_galeria list-group-item text-left'><p><small>$campo_nombre[0]</small><br><strong class='contenido_campo_galeria' >$contenido</strong></p></li>";} // $leyenda="$contenido"; } elseif($tipo=="array"){ if($row['id_campo'] == $titulo){$array['title']=$contenido;} if($row['id_campo'] == $categoria_campo){ $array['category']=$contenido; $categoria_filtro = remplacetas('form_parametrizacion','campo',$id,'descripcion',"tabla='form_id' and opcion = 'categoria:filtro:$row[id_campo]'") ; $filtro = $categoria_filtro; $categoria_filtro = $categoria_filtro[0]; $icono = remplacetas('form_parametrizacion','campo',$id,'descripcion'," tabla='form_id' and opcion = 'categoria:icon:$md5_contenido'") ; //$icono[0] = $imagen_icon; if($icono[0] =='') { //$icon = "https://raw.githubusercontent.com/humano/milfs/master/milfs/images/iconos/negro.png"; }else{ $icon = $icono[0]; } $array[icon][iconUrl] = "$icon"; //$array[icon][iconSize] ="[50,50]"; //$array[icon][shadowSize] =[70,70]; //$array[icon][shadowUrl] = "http://$_SERVER[HTTP_HOST]/milfs/images/iconos/sha.png"; }else{} $array[$row[id_campo]] = $contenido; } else{ $limite = 100; $size= strlen($contenido); $restante = ($limite - $size); if($size > $limite) { $contenido = substr($contenido,0, $length = 300)."... ";//$contenido; } if($campo_tipo=='15' AND $tipo !="csv"){if($contenido !=""){$contenido = "<img alt='$contenido' class='img img-rounded' style='height:100px;' data-src='$_SESSION[site]milfs/images/secure/?file=600/$contenido' src='$_SESSION[site]milfs/images/secure/?file=600/$contenido'>"; }else{$contenido="";}} if($campo_tipo=='14'){ if($contenido !='') { $campos = explode(" ",$contenido); $lat = $campos[0]; $lon = $campos[1]; $zoom = $campos[2]; // @require("includes/datos.php"); $contenido = " <img style='height:100px;' class='mapa_estatico lazy img-rounded img img-responsive' data-src ='https://staticmap.openstreetmap.co/staticmap.php?center=$lon,$lat&zoom=$zoom&size=350x100&maptype=mapnik&markers=$lon,$lat,red-pushpin' src ='https://staticmap.openstreetmap.co/staticmap.php?center=$lon,$lat&zoom=$zoom&size=350x100&maptype=mapnik&markers=$lon,$lat,red-pushpin' >"; } else { $contenido ='';} } elseif($campo_tipo=='4'){ $contenido = "<a href='$contenido' target='_blank'>$contenido</a>";} elseif($campo_tipo=='18'){ $contenido = "";} elseif($campo_tipo=='3' AND $contenido !=""){ $contenido = $contenido;} elseif($campo_tipo =="6" ) {$contenido =imprimir_buscador_campo($row[id_campo],$contenido) ;} else {$contenido = $contenido."" ; //Markdown("$contenido"); } } }// fin autorizacion /// fin de los tipos if ($autorizado != '0'){ if($tipo=="titulos" ) { if($campo_tipo=='18'){ $contenido = "";} if($row['id_campo'] == $campo_interaccion){$clase_interaccion="warning";}else{ $clase_interaccion="";} $td .= "<th class='col_$row[id_campo] plantilla_titulo_$row[id_campo] $clase_interaccion $class_area' title='$row[id_campo]'>$contenido </th>$col_checkeo_titulo"; $contenido ="$td"; }else{ $td .= "<td class='col_$row[id_campo] planilla_contenido_$row[id_campo] $class_area $clase_interaccion '>$contenido </td>$col_checkeo_td"; } } if($campo_tipo=='18'){ $td .= "";} } if($tipo=="titulos") { $identificador ="<th class='col_$row[id_campo] col_control control_planilla'></th>"; } else { $identificador ="<td class='col_$row[id_campo] control_planilla col_control $clase_interaccion'> $control $interaccion_form </td>";} $resultado .="$td $identificador "; } else{ //sin resultados; } if($tipo =='titulos_csv' or $tipo=='linea_csv') { return "$csv"; } elseif( $tipo=='linea_planilla' ) { $tabla=" $csv $identificador"; return " ".$tabla; } elseif( $tipo=='galeria' ) { $resultado ="<div class=' div_galeria text-center'> <div class='thumbnail_imagen_galeria img-thumbnail img-responsive'> $imagen <div class='caption_imagen_galeria caption'><ul class='ul_galeria list-group'>$leyenda</ul></div> <div>$respuestas</div> </div> </div>"; return "$resultado"; } elseif( $tipo=='voyeur' ) { $resultado ="<td><div class=' div_galeria text-center container'> <div class='text-center container thumbnail_imagen_galeria img-thumbnail img-responsive'> $imagen <div class='caption_imagen_galeria caption'> <ul class='ul_galeria list-group'>$leyenda</ul></div> </div> </div></td>"; return "$resultado"; } elseif($tipo =="array") { //$array["title"]="hola mundos"; return $array; } elseif($tipo =="titulos") { return "$contenido<th class='control_planilla'>Identificador</th>"; } else{ //$printipo = print_r($tipo_original,true); return "$contenido"; } return $resultado; } // $contenido_desplegado = contenido_mostrar("$row[form_id]","$row[control]",'',"$plantilla"); function mostrar_coincidencias_plantilla($id_form,$filtro,$valor,$plantilla) { if($valor !=""){ $md5_valor = $valor; if($filtro !='' ){$w_filtro ="AND md5(binary contenido) = '$md5_valor'";} } $consulta= "SELECT * FROM form_datos WHERE form_id= '$id_form' AND id_campo = '$filtro' $w_filtro "; $link=Conectarse(); mysqli_set_charset($link, "utf8"); //mysqli_real_escape_string($link,$consulta); $sql=mysqli_query($link,$consulta); $control=mysqli_result($sql,0,"control"); if (mysqli_num_rows($sql)!=0){ mysqli_data_seek($sql, 0); while( $row = mysqli_fetch_array( $sql ) ) { $resultado .= contenido_mostrar("$row[form_id]","$row[control]",'',"$plantilla"); } } $respuesta = new xajaxResponse('utf-8'); $respuesta->addAssign("mostrar_resultado","innerHTML",$resultado); return $respuesta; } $xajax->registerFunction("mostrar_coincidencias_plantilla"); function mostrar_coincidencias($id_form,$filtro,$valor) { if($valor !=""){ $md5_valor = $valor; if($filtro !='' ){$w_filtro ="AND md5(binary contenido) = '$md5_valor'";} } $consulta= "SELECT * FROM form_datos WHERE form_id= '$id_form' AND id_campo = '$filtro' $w_filtro "; $link=Conectarse(); mysqli_set_charset($link, "utf8"); //mysqli_real_escape_string($link,$consulta); $sql=mysqli_query($link,$consulta); if (mysqli_num_rows($sql)!=0){ mysqli_data_seek($sql, 0); while( $row = mysqli_fetch_array( $sql ) ) { $depliegue = formulario_imprimir_linea($row[form_id],$row[control]); $titulo = formulario_imprimir_linea($row[form_id],$row[control],'titulos'); $campos .= "<tr title =''> $depliegue </tr>"; } $resultado = "<div class='table-responsive'><table class='table table-hover '>$titulo $campos </table></table>"; } $respuesta = new xajaxResponse('utf-8'); $respuesta->addAssign("mostrar_resultado","innerHTML",$resultado); return $respuesta; } $xajax->registerFunction("mostrar_coincidencias"); function matriz_formulario($formulario,$div,$registros,$pagina,$formato){ $respuesta = new xajaxResponse('utf-8'); if ( !isset ( $_SESSION['id_empresa'] ) ) { $respuesta->addRedirect("index.php"); return $respuesta; } $link=Conectarse(); mysqli_set_charset($link, "utf8"); $md5_filtro = $formulario["campo_filtro"]; //$formulario = mysql_seguridad($formulario); mysqli_real_escape_string($link,$formulario); $perfil = $formulario["form_id_id"]; $filtro = $formulario["campo_filtro"]; $control = md5(rand(1,99999999).microtime()); $cantidad = formulario_contar($perfil); $formulario_nombre = remplacetas('form_id','id',$perfil,'nombre','') ; if($filtro !='' ){$w_filtro ="AND md5(binary contenido) = '$md5_filtro'";} if($perfil !=''){$perfil ="AND form_id = '$perfil'";}Else{ $resultado ="<div class='alert alert-danger'><h1><i class='glyphicon glyphicon-exclamation-triangle'></i> Por favor seleccione un formulario</h1></div>"; $respuesta->addAssign($div,"innerHTML",$resultado); return $respuesta; } if($cantidad < 1) { $resultado ="<div class='alert alert-danger'> <h1><i class='glyphicon glyphicon-exclamation-triangle'></i> El formulario <strong>\"$formulario_nombre[0]\"</strong> no tiene registros </h1> </div>"; $respuesta->addAssign($div,"innerHTML",$resultado); return $respuesta; } $fecha_inicio = $formulario["inicio"]; if($fecha_inicio =="" ) { $fecha_inicio ="2000-01-01";} $fin = $formulario["fin"]; $id_campo = $formulario["id_campo"]; $busqueda = $formulario["busqueda"]; if($formato =='csv') {$orden = "ORDER BY form_datos_id ASC ";}else{$orden = "ORDER BY form_datos_id DESC ";} if($id_campo ==''){ $campo =''; }else{ if($busqueda =='') { $resultado ="<div class='alert alert-danger'><h1><i class='glyphicon glyphicon-exclamation-triangle'></i> Por favor escriba una palabra para buscar</h1></div>"; $respuesta->addAssign($div,"innerHTML",$resultado); return $respuesta; } $campo ="AND id_campo = '$id_campo'"; } if($busqueda !=''){$busca ="AND contenido LIKE '%%$busqueda%%'";}Else{$busca ='';} $consulta = " SELECT *,from_unixtime(timestamp) AS fecha , form_datos.id AS form_datos_id FROM form_datos, form_campos WHERE form_datos.id_campo = form_campos.id AND form_datos.id_empresa = '$_SESSION[id_empresa]' $busca $perfil $campo $w_filtro AND timestamp BETWEEN UNIX_TIMESTAMP('$fecha_inicio') AND UNIX_TIMESTAMP('$fin 23:59:59') GROUP BY control $orden"; $sql=mysqli_query($link,$consulta); if (mysqli_num_rows($sql)==0){ $resultado ="<div class='alert alert-danger alert_sin_resultados'><h1><i class='glyphicon glyphicon-exclamation-triangle'></i> No hay resultados 0008 </h1></div>"; $respuesta->addAssign($div,"innerHTML",$resultado); return $respuesta; } if (mysqli_num_rows($sql)!=0){ $total_registros = mysqli_num_rows($sql); if($formato=='csv'){ $nombre_archivo ="tmp/Formulario_".mktime()."_".$_SESSION['id'].".csv"; $boton_descarga ="<a class='btn btn-default btn-success' href='$nombre_archivo'>Descargar <i class='glyphicon glyphicon-cloud-download'></i></a>"; $archivo_reporte=fopen($nombre_archivo , "w"); $encabezado =";;Periodo\n;;$inicio\n;;$fin \n "; fputs ($archivo_reporte,$encabezado); $tabla .= "ID;Fecha;Timestamp;Formulario;Campo;Contenido;Control\n"; fputs ($archivo_reporte,$titulo); mysqli_data_seek($sql, 0); while( $row = mysqli_fetch_array( $sql ) ) { $titulo = formulario_imprimir_linea($row[form_id],$row[control],'titulos_csv'); $linea = formulario_imprimir_linea($row[form_id],$row[control],'linea_csv'); $formulario_nombre = remplacetas('form_id','id',$row[form_id],'nombre') ; $linea = $linea."\n"; $lineas .= $linea; } $contenido ="$titulo \n $lineas"; //rewind($archivo_reporte); fputs ($archivo_reporte,$contenido); $respuesta->addAssign("boton_descarga","innerHTML",$boton_descarga); $respuesta->addAssign($div,"innerHTML",$resultado); return $respuesta; } } else{ $respuesta ="<div class='alert alert-warning alert_sin_resultados'><i class='glyphicon glyphicon-exclamation-triangle'></i> No hay resultados 0009</div>"; $respuesta->addAssign($div,"innerHTML",$resultado); return $respuesta; } /// PAGINACION if ($pagina =='') {$inicio = 0; $pagina = 1; } else { $inicio = ($pagina - 1) * $registros;} if($total_registros < $registros) { $limite ="";} else{$limite =" LIMIT $inicio, $registros ";} $consulta_limite = $consulta.$limite; $sql=mysqli_query($link,$consulta_limite); if (mysqli_num_rows($sql)!='0'){ $botones .= "<a class='btn btn-default' onclick=\"xajax_borrar_tmp('resultados'); xajax_limpia_div('resultados'); xajax_limpia_div('resultados_encabezado')\">Limpiar<i class='glyphicon glyphicon-trash'></i></a> "; if($formato!='csv'){ $botones .= " <!-- <a class='btn btn-default' onClick=\"xajax_matriz_formulario(xajax.getFormValues('peticion'),'resultados','','','csv');\"> Exportar <i class='glyphicon glyphicon-file-text-o'></i> </a> -->"; } $paginacion ="<ul class='pagination pull-right'>"; $total_paginas = ceil($total_registros / $registros); if(($pagina - 1) > 0) { $indice .="<li><a title='Cambiar a la página ".($pagina-1)."' onClick=\"xajax_matriz_formulario(xajax.getFormValues('peticion'),'resultados','$registros','".($pagina-1)."');\"' style='cursor:pointer'>< Anterior</a> </li>"; } for ($i=1; $i<=$total_paginas; $i++) if ($pagina == $i){ $indice .= "<li class='active'><a title='Cambiar a la pagina $i' onClick=\"xajax_matriz_formulario(xajax.getFormValues('peticion'),'resultados','$registros','$i');\"' style='cursor:pointer'>$i</a> </li>"; } else { $indice .= "<li><a title='Cambiar a la pagina $i' onClick=\"xajax_matriz_formulario(xajax.getFormValues('peticion'),'resultados','$registros','$i');\"' style='cursor:pointer'>$i</a> </li>"; } if(($pagina + 1)<=$total_paginas) { $indice .= "<li><a title='Cambiar a la pagina ".($pagina+1)."' onClick=\"xajax_matriz_formulario(xajax.getFormValues('peticion'),'resultados','$registros','".($pagina+1)."');\"' style='cursor:pointer'> Siguiente ></a></li>"; } $indice .= "</ul>"; $paginacion .= $indice; $encabezado = " <br> <div class='row' id='botonera'> <div class='col-sm-12'>$botones $paginacion <span id='boton_descarga'></span> <span class='label label-default '>$total_registros registros</span></div> </div>"; $fila=0; mysqli_data_seek($sql, 0); while( $row = mysqli_fetch_array( $sql ) ) { $formulario_nombre = remplacetas('form_id','id',$row[form_id],'nombre') ; $fila = $fila +1; if ($fila %2 == 0){$bg='LightCyan';}else{ $bg='FFFFFF';} $depliegue = formulario_imprimir_linea($row[form_id],$row[control]); $titulo = formulario_imprimir_linea($row[form_id],$row[control],'titulos'); $menu ="<td nowrap style='width:100px;' > <div class='btn-toolbar '> <div class='btn-group btn-group-xs'> <a class='btn btn-default' onclick=\"xajax_formulario_modal('$row[form_id]','','$row[control]',''); \"><i class='glyphicon glyphicon-eye-open'></i></a> <a class='btn btn-default' target='form' href='../f$row[form_id]&c=$row[control]'><i class='glyphicon glyphicon-share-square-o'></i></a> <a class='btn btn-default' target='form' href='d$row[control]&t=edit'><i class='glyphicon glyphicon-pencil'></i> Edit</a> $imagen </div> </div> </td>"; $campos .= "<tr title =''>$menu $depliegue </tr>"; } $resultado .="<div class='table-responsive' ><table class='table ' style='max-width:450px;' ><td></td>$titulo $campos</table></div>"; }else{ $resultado .="<div class='alert alert-danger alert_sin_resultados'><h1><i class='glyphicon glyphicon-exclamation-triangle'></i> No hay resultados 0010 </h1></div>"; } //$resultado .="$consulta"; $respuesta->addAssign("resultados_encabezado","innerHTML",$encabezado); $respuesta->addAssign($div,"innerHTML",$resultado); mysqli_close($link); return $respuesta; } $xajax->registerFunction("matriz_formulario"); function remplacetas($tabla,$campo,$valor,$por,$and){ /// depende de la funcion mysqli_result por compatibilidad hacia atras $link=Conectarse(); mysqli_set_charset($link, "utf8"); if(@$and !=''){$AND = "AND $and";}else{$AND ="";} //$consulta = "SELECT * , md5(binary $por ) as md5_".$por." FROM $tabla WHERE $campo = '$valor' $AND order by $campo DESC limit 1"; $consulta = "SELECT * , md5(binary $por ) as md5_".$por." FROM $tabla WHERE $campo = '$valor' $AND order by id DESC limit 1"; $sql=mysqli_query($link,$consulta); if (@mysqli_num_rows($sql)!=0){ if($por =='contenido' AND $tabla=='form_datos'){ //$resultado[0] = mysqli_result($sql,0,$por); $resultado[0]=str_replace('\n','<br>',mysqli_result($sql,0,$por)); }else{ $resultado[0] = mysqli_result($sql,0,$por); } $resultado[] = mysqli_result($sql,0,'id'); $resultado[] = $consulta; $resultado[] = mysqli_result($sql,0,"md5_$por"); $resultado[] = @mysqli_result($sql,0,"timestamp"); $resultado[] = @mysqli_result($sql,0,"form_id"); $resultado[] = @mysqli_result($sql,0,"id_usuario"); //6 $resultado[] = @mysqli_result($sql,0,"id_empresa"); //7 $resultado[] = @mysqli_result($sql,0,"equipo"); //8 }else{ $resultado[0] = ''; $resultado[1] =""; $resultado[2] = $consulta; $resultado[3] = NULL; $resultado[4] = NULL; $resultado[5] = NULL; $resultado[6] = NULL; $resultado[7] = NULL; $resultado[8] = NULL; } mysqli_close($link); return $resultado; } function mysqli_result($res,$row=0,$col=0){ $numrows = @mysqli_num_rows($res); if ($numrows && $row <= ($numrows-1) && $row >=0){ mysqli_data_seek($res,$row); $resrow = (is_numeric($col)) ? mysqli_fetch_row($res) : mysqli_fetch_assoc($res); if (isset($resrow[$col])){ return $resrow[$col]; } } return false; } function remplacetas_orden($tabla,$campo,$valor,$por,$and,$orden){ $link=Conectarse(); mysqli_set_charset($link, "utf8"); if(@$and !=''){$AND = "AND $and";}else{$AND ="";} //$consulta = "SELECT * , md5(binary $por ) as md5_".$por." FROM $tabla WHERE $campo = '$valor' $AND order by $campo DESC limit 1"; $consulta = "SELECT * , md5(binary $por ) as md5_".$por." FROM $tabla WHERE $campo = '$valor' $AND $orden limit 1"; $sql=mysqli_query($link,$consulta); if (mysqli_num_rows($sql)!= FALSE){ $resultado[] = mysqli_result($sql,0,$por); $resultado[] = mysqli_result($sql,0,'id'); $resultado[] = $consulta; $resultado[] = mysqli_result($sql,0,"md5_$por"); $resultado[] = mysqli_result($sql,0,"timestamp"); $resultado[] = mysqli_result($sql,0,"form_id"); }else{ $resultado[0] = ''; $resultado[1] =""; $resultado[2] = $consulta; $resultado[3] = NULL; $resultado[4] = NULL; $resultado[4] = NULL; } return $resultado; } function input_campos($perfil,$name){ $listado =""; $respuesta = new xajaxResponse('utf-8'); $link=Conectarse(); mysqli_set_charset($link, "utf8"); $consulta = " SELECT * FROM form_contenido_campos, form_campos WHERE form_contenido_campos.id_campo = form_campos.id AND id_form = '$perfil' ORDER BY campo_nombre ASC"; $sql=mysqli_query($link,$consulta); if (mysqli_num_rows($sql)!='0'){ $resultado = " <select class='form-control' name='$name' id='$name' > "; while( $row = mysqli_fetch_array( $sql ) ) { $resultado .= " <option value='$row[id_campo]' title='$row[campo_descripcion]'>$row[campo_nombre]</option>"; $listado .="<option value='$row[id_campo]'>$row[campo_nombre]</option>"; } $resultado .= " $listado</select >"; } else{$resultado = '';} return $resultado; } function formulario_campos_select($perfil,$div,$onchange){ $listado =""; $respuesta = new xajaxResponse('utf-8'); if($onchange =="filtro") { $onchange = "onchange=\"xajax_formulario_campos_filtro('$perfil',(this.value),'filtro_$perfil',''); \" ";} $link=Conectarse(); mysqli_set_charset($link, "utf8"); $consulta = " SELECT * FROM form_contenido_campos, form_campos WHERE form_contenido_campos.id_campo = form_campos.id AND id_form = '$perfil' ORDER BY campo_nombre ASC"; $sql=mysqli_query($link,$consulta); if (mysqli_num_rows($sql)!='0'){ $categoria = remplacetas('form_parametrizacion','campo',$perfil,'descripcion'," opcion = 'categoria'") ; $categoria = $categoria[0]; $resultado = "<label for='id_campo'>Campo</label> <select $onchange class='form-control' name='id_campo' id='id_campo' > <option value=''>Todos los campos</option>"; while( $row = mysqli_fetch_array( $sql ) ) { $resultado .= " <option value='$row[id_campo]' title='$row[campo_descripcion]'>$row[campo_nombre]</option>"; if($div =='') { if ($row['id_campo'] == "$categoria"){ $class="active"; $filtro = formulario_campos_filtro("$perfil","$row[id_campo]","",""); }else { $class=""; $filtro ='';} $listado .="<a class='list-group-item $class'><span class='badge'>$row[id_campo]</span> $row[campo_nombre] $filtro</a>"; } } $resultado .= " </select > <div id='filtro_$perfil'></div>"; } else{$resultado = '';} if($div =='') {return $listado;} $respuesta->addAssign($div,"innerHTML",$resultado); return $respuesta; } $xajax->registerFunction("formulario_campos_select"); function formulario_campos_filtro($perfil,$campo,$div,$onchange){ $respuesta = new xajaxResponse('utf-8'); $link=Conectarse(); mysqli_set_charset($link, "utf8"); $consulta = " SELECT md5(binary contenido) as md5_contenido, contenido FROM form_datos WHERE form_id = '$perfil' AND id_campo = '$campo' GROUP BY contenido ORDER BY contenido asc"; $sql=mysqli_query($link,$consulta); if (mysqli_num_rows($sql)!='0'){ $resultado = "<div class='input-group'> <span class='input-group-addon'>Filtro <i class='glyphicon glyphicon-filter'></i> </span> <select class='form-control' name='campo_filtro' id='campo_filtro' onchange=\"$onchange\" > <option value=''>Seleccione</option>"; while( $row = mysqli_fetch_array( $sql ) ) { $resultado .= " <option value='$row[md5_contenido]' title=''>$row[contenido]</option>"; } $resultado .= " </select > </div>"; } else{$resultado = "<p class='text-danger'><i class='glyphicon glyphicon-exclamation-triangle'></i> No se encontraron resultados</p>";} if($div !="") { $respuesta->addAssign($div,"innerHTML",$resultado); return $respuesta; }else{return $resultado;} } $xajax->registerFunction("formulario_campos_filtro"); //$select = select('form_campos_valores','campo_valor','campo_valor','',"id_form_campo = $id_campo","$id_campo"); function formulario_consultar($div){ if($div==''){ $div = "contenido"; $resultado = "<a href='#' onclick=\"xajax_formulario_consultar('$div'); \"><i class='glyphicon glyphicon-search'></i> Consultas</a>"; return $resultado; } $formulario = select('form_id','id','nombre','xajax_formulario_campos_select((this.value),\'div_campos\')',"id_empresa = '$_SESSION[id_empresa]'",''); $fecha = time (); $ahora = date ( "Y-m-d" , $fecha ); $peticion = " <form autocomplete='off' role='form' name='peticion' id='peticion' action='rss.php' target='rss' method='post'> <div class='row'> <div class='col-lg-4 '> <div class='row'> <div class='col-lg-6'> <div class='form-group'> <label for='inicio'>Desde</label> <input type='date' name='inicio' id='inicio' class='form-control' title='YYYY-MM-DD'> </div> </div> <div class='col-lg-6'> <div class='form-group'> <label for='fin'>Hasta</label> <input type='date' name='fin' id='fin' class='form-control' title='YYYY-MM-DD' value='$ahora' > </div> </div> </div> </div> <div class='col-lg-8'> <div class='row'> <div class='col-lg-4'> <div class='form-group'> <label for='busqueda'>Frase a buscar</label> <input value='%%' type=text name='busqueda' id='busqueda' placeholder='Cadena de busqueda' class='form-control' > </div> </div> <div class='col-lg-4'> <div class='form-group'> <label for='formulario'>Formulario</label> $formulario </div> </div> <div class='col-lg-4'> <div id='div_campos' name='div_campos' style='display:inline;'></div> </div> </div> </div> </div> </form> <div class='btn btn-block btn-success' OnClick=\"xajax_matriz_formulario(xajax.getFormValues('peticion'),'resultados','50','');\">Consultar</div> <div class= 'col-xs-12' id='resultados_contenedor' name='resultados_contenedor' > <div id='resultados_encabezado' name='resultados_encabezado' > </div> <div id='resultados' name='resultados' style='overflow:auto ; max-width:95%px; max-height:400px;' > </div> </div> "; $respuesta = new xajaxResponse('utf-8'); $respuesta->addAssign($div,"innerHTML",$peticion); return $respuesta; } $xajax->registerFunction("formulario_consultar"); function formulario_campos_procesar($form,$tipo_accion){ //$form = mysql_seguridad($form); $campos_formulario =""; $grabar_campos_valores =""; $respuesta = new xajaxResponse('utf-8'); $campo_nombre = $form["campo_nombre"]; if($campo_nombre =='') { $respuesta->addAlert("El Nombre del campo no puede estar vacío"); $respuesta->addAssign("grupo_campo_nombre","className"," input-group has-error "); return $respuesta; } //$campo_nombre = ucfirst(strtolower($campo_nombre)); @$campo_descripcion = $form["campo_descripcion"]; @$campo_tipo = $form["campo_tipo"]; @$campo_area = $form["campo_area"]; if($campo_area =="") { $campo_area="1";} @$misma_area = $form["misma_area"]; @$campo_orden = $form["campo_orden"]; @$campo_identificador = $form["campo_identificador"]; @$activo = $form["activo"]; @$tipo = $form["tipo"]; @$editar = $form["editar"]; @$id_campo_editar = $form["id_campo_editar"]; $link=Conectarse(); mysqli_set_charset($link, "utf8"); if ($editar == 'editar' AND $tipo_accion =='editar'){ mysqli_query($link," UPDATE `form_campos` SET `campo_nombre` = '$campo_nombre', `campo_descripcion` = '$campo_descripcion', `orden` = '$campo_orden' , `campo_area` = '$campo_area', `campo_tipo` = '$campo_tipo', `id_empresa` = '$_SESSION[id_empresa]', `activo` = '$activo' WHERE `form_campos`.`id` ='$id_campo_editar' LIMIT 1"); $w_campo = "id = '$id_campo_editar'"; }else { $id_empresa = $_SESSION['id_empresa']; $id_especialista = $_SESSION['id']; $buscar_campo_nombre = remplacetas('form_campos','campo_nombre',$campo_nombre,'campo_nombre'," id_empresa = '$id_empresa' AND campo_area = '$campo_area' ") ; if($buscar_campo_nombre[0] == $campo_nombre) { $respuesta->addAlert("El Nombre del campo ( $campo_nombre ) ya existe en la misma área "); $respuesta->addAssign("grupo_campo_nombre","className"," input-group has-error "); return $respuesta; } if($campo_identificador == "") { $campo_identificador = md5($_SESSION['id_usuario']."-".microtime()); } $consulta = " INSERT INTO `form_campos` (`id_especialista`, `campo_nombre`,`campo_descripcion`,`campo_tipo`, `campo_area`, `orden`, `activo`, `identificador`, `id_empresa`) VALUES ('$id_especialista','$campo_nombre','$campo_descripcion','$campo_tipo','$campo_area','$campo_orden','1','$campo_identificador','$id_empresa')"; $sql =mysqli_query($link,$consulta); $ultimo_id = mysqli_insert_id($link); $w_campo= "identificador = '$campo_identificador'"; if($sql) { $listado_campos = select('form_campos','id','campo_nombre',"xajax_formulario_crear_campo('',(this.value),'div_campos')","id_empresa = '$_SESSION[id_empresa]' AND activo = '1'",'campo_editar',''); $campos_formulario ="<form autocomplete='off' name='nuevo_campo' id='nuevo_campo' role='form'> <input type='hidden' name='id_usuario' id='id_usuario' value=''> <input type='hidden' name='div' id='div' value='contenido'> </form><h2 class='alert alert-success'>El campo se creó con éxito <div class='btn btn-default' onclick=\"xajax_crear_campos_formulario(xajax.getFormValues('nuevo_campo'),'');\"><i class='glyphicon glyphicon-plus-sign'></i> Crear un nuevo campo</div> <div class='input-group'><span class='input-group-addon'>Modificar campo</span> $listado_campos</div> </h2>"; if(@$form['agregar_id_form'] !="") { $respuesta->AddScript("xajax_agregar_campos('grabar_campos','contenido','$ultimo_id','$form[agregar_id_form]') "); ///$respuesta->addAssign("$div","innerHTML",$resultado); //return $respuesta; } }else {$campos_formulario = "<h1>Problemas al grabar el campo</h1> $consulta";} } if($id_campo_editar !='' AND $tipo_accion =='editar'){$id_form_campo = $id_campo_editar;}else { //$id_form_campo = mysqli_insert_id($link); $id_form_campo = $ultimo_id; } //$respuesta->addAlert("( $campo_tipo / $id_form_campo / $ultimo_id / $form[opciones] ) $consulta"); //$respuesta->addAssign("contenido","innerHTML","$consulta_campos_valores"); //return $respuesta; if($campo_tipo == '23' ){ $grabar_campos_valores = "(".$id_form_campo.",'".$form[opciones]."')"; } /// separacion por comas else { $opciones=str_replace(', ',',',"$form[opciones]"); $opciones = explode(",",$opciones); foreach($opciones as $c=>$v){ //if($v !='') {$v = ucfirst(strtolower($v)); if($v !='') {$v = trim($v); $grabar_campos_valores .= "( $id_form_campo ,'$v'),"; } } $grabar_campos_valores =substr ("$grabar_campos_valores",0,-1); } /// fin de separacion por comas $borrar_campos_valores = "DELETE FROM `form_campos_valores` WHERE `id_form_campo` = '$id_form_campo'"; $consulta_campos_valores = "INSERT INTO form_campos_valores (id_form_campo,campo_valor) VALUES ".$grabar_campos_valores.""; $sql_borrar_campos_valores =mysqli_query($link,$borrar_campos_valores); $sql_campos_valores =mysqli_query($link,$consulta_campos_valores); $campos=mysqli_query($link," SELECT id_form_campo, campo_nombre, campo_descripcion, tipo_campo_accion, campo_area, orden FROM `consulta_campos` , `tipo_campo` WHERE $w_campo AND form_campos.campo_tipo = form_tipo_campo.id_tipo_campo LIMIT 1"); $edicion = "<a class='btn btn-default' onclick=\"xajax_formulario_crear_campo('','$id_form_campo','contenido_$id_form_campo');\"><i class='glyphicon glyphicon-edit'></i></a> $campo_nombre "; $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 autocomplete='off' 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 autocomplete='off' 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("contenido_$misma_area"."$id_form_campo"."","innerHTML",$campos_formulario); }else { $respuesta->addAssign("contenido_$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'); $div = 'opciones_select'; if($id_campo !=''){ $consulta= "SELECT * FROM form_campos_valores WHERE id_form_campo = '$id_campo'"; $link = Conectarse(); mysqli_set_charset($link, "utf8"); $sql=mysqli_query($link,$consulta); if (mysqli_num_rows($sql)!='0'){ while( $row = mysqli_fetch_array( $sql ) ) { $valores .= "$row[campo_valor],"; } $valores = substr($valores,0,-1); } } if($tipo =='8'){ $resultado = " <textarea class='form-control' id='opciones' name='opciones' title='Escriba las opciones separadas por coma y en orden' placeholder='Escriba las opciones separadas por coma y en orden ej: Casa,Carro,Beca,Mascota,Computador'>$valores</textarea>"; } elseif($tipo =='9'){ $resultado = " <textarea class='form-control' id='opciones' name='opciones' title='Escriba las opciones separadas por coma y en orden y los campos separados por dos puntos ej. Amazonas:Puerto santander,Amazonas:La chorrera,Amazonas:La pedrera' placeholder='Escriba las opciones separadas por coma y en orden y los campos separados por dos puntos ej. Amazonas:Puerto santander,Amazonas:La chorrera,Amazonas:La pedrera'>$valores</textarea>"; } elseif($tipo =='16'){ if($valores =='') {$valores = "1,10";} $resultado = " <textarea class='form-control' id='opciones' name='opciones' title='Valor mínimo y máximo' placeholder='Escriba Valor mínimo y máximo separadas por coma 1,10'>$valores</textarea>"; } elseif($tipo =='17'){ $resultado ="<input class='form-control' type='number' id='opciones' name='opciones' value='$valores' placeholder='Limite' title='Escriba un limite de caracteres para este campo' > "; }elseif($tipo =='10'){ $resultado ="<textarea class='form-control' id='opciones' name='opciones' title='Predefinido' placeholder='Ejemplo - id_form:24 key:144 limit:100'>$valores</textarea> "; }elseif($tipo =='6'){ $resultado ="<textarea class='form-control' id='opciones' name='opciones' title='Predefinido' placeholder='id_form:2 key:789 descripcion:790'>$valores</textarea> "; }elseif($tipo =='3'){ $resultado ="<textarea class='form-control' id='opciones' name='opciones' title='Predefinido' placeholder='min;max;pasos'>$valores</textarea> "; }elseif($tipo =='33'){ if ($valores =='diario') {$selected_diario= "checked"; $selected_historico ="";} if ($valores =='historico') {$selected_diario= ""; $selected_historico ="checked";} $resultado =" <div class='radio'> <label> <input $selected_diario type='radio' value='diario' id='opciones' name='opciones' title='El consecutivo se reiniciará cada dia' > Reinicio diario </label> </div> <div class='radio'> <label> <input $selected_historico type='radio' value='historico' id='opciones' name='opciones' title='El consecutivo no se reinicia' > Sin reinicio </label> </div>"; } elseif($tipo =='34'){ $resultado ="<textarea class='form-control' id='opciones' name='opciones' title='Nombres de las columnas separados por punto y coma.' placeholder='col_1;col_2;col_3'>$valores</textarea> "; } elseif($tipo =='35'){ $resultado ="<textarea class='form-control' id='opciones' name='opciones' title='Nombres de las columnas separados por punto y coma.' placeholder='0.007184 * [3110]**0.725 * [3119]**0.425'>$valores</textarea> Usar operadores y expresiones en <a href='https://developer.mozilla.org/es/docs/Web/JavaScript/Guide/Expressions_and_Operators' target='_blank'>formato Javascript</a> y los ID de campos de entradas entre corchetes '[####]'"; } else{ $resultado = " <textarea class='form-control' id='opciones' name='opciones' title='Predefinido' placeholder='Valores predefinidos'>$valores</textarea>"; } $respuesta->addAssign("$div","innerHTML",$resultado); return $respuesta; } $xajax->registerFunction("formulario_opciones_select"); function crear_campos_formulario($form,$id_form){ $id_form=$id_form; $area=""; $Campo_tipo_definido=""; $Tipo_campo=""; $campo_nombre =""; $campo_descripcion =""; $editar =""; $form = mysql_seguridad($form); $respuesta = new xajaxResponse('utf-8'); if($form['div'] !="") { $div = $form['div'];}else{$div="div_campos";} @$especialista = $form["id_especialista"]; @$id_campo_editar = $form["id_campo_editar"]; $resultado = " $id_campo_editar"; $link = Conectarse(); mysqli_set_charset($link, "utf8"); $capa = "crear_campos_consulta_$area"; $formulario ="manejo_campos_$area"; if ($id_campo_editar > 0){ $sql=mysqli_query($link,"SELECT * FROM form_campos WHERE id = '$id_campo_editar' AND activo ='1'"); while( $row = mysqli_fetch_array( $sql ) ) { $resultado .=""; $campo_descripcion =$row['campo_descripcion']; $campo_nombre =$row['campo_nombre']; $orden =$row['orden']; $especialista =$row['id_especialista']; $formulario ="manejo_campos_$id_campo_editar"; $editar="<input type='hidden' name='editar' id='editar' value='editar'> <input type='hidden' name='id_campo_editar' id='id_campo_editar' value='$id_campo_editar'> <input type='hidden' name='misma_area' id='misma_area' value='$area'>"; $Campo_tipo_definido= $row['campo_tipo']; } } $Tipo_campo ="<label for='campo_tipo'>Tipo:</label> <select class='form-control' name='campo_tipo' id='campo_tipo' onchange=\"xajax_formulario_opciones_select((this.value),'$id_campo_editar') \" >"; $tipos=mysqli_query($link," SELECT * FROM `form_tipo_campo` WHERE activo = '1' ORDER BY tipo_campo_nombre "); while( $row = mysqli_fetch_array( $tipos ) ) { if($row['id_tipo_campo'] == $Campo_tipo_definido){ $Tipo_campo .= " <option value='".$row['id_tipo_campo']."' SELECTED > > ".$row['id_tipo_campo']." - ".$row['tipo_campo_nombre']." < </option>"; } $Tipo_campo .= " <option value='".$row['id_tipo_campo']."'>".$row['tipo_campo_nombre']." [".$row['id_tipo_campo']."]</option>"; } $Tipo_campo .="</select><div id='opciones_select' name='opciones_select'></div>"; if($id_form !="") { $agregar_a_formulario = " <div class='checkbox'> <label> <input type='checkbox' name='agregar_id_form' id='agregar_id_form' value='$id_form' checked> Incluir este campo en el formulario actual </label> </div> "; }else {$agregar_a_formulario = "";} $identificador = md5($_SESSION['id']."-".microtime()); $areas = select('form_areas','id','nombre','',"id_empresa = '$_SESSION[id_empresa]' or id_empresa ='1' ",'campo_area',""); $resultado .= " <div id='div_campos'> <div name='contenido_$area' id='contenido_$area' style='padding: 10px;' class='BC".$especialista."' > <form autocomplete='off' role='form' name='$formulario' id ='$formulario' style='' > <div class='row'> <div class='col-xs-4'> <div id='grupo_campo_nombre' class='form-group'> <label for ='campo_nombre'>Nombre del campo</label> <input class='form-control' type='text' name='campo_nombre' id='campo_nombre' size='35' value ='$campo_nombre'> </div> </div> <div class='col-xs-4'> <div class='form-group'> $Tipo_campo </div> </div> <div class='col-xs-4'> <div class='form-group'> <label for='publico' >Estado</label> <select class='form-control alert-warning' value='1' name='publico' id='publico'> <option value='1'>Activo: el campo puede ser usado en formularios</option> <option value='0'>Inactivo: El campo NO se usará</option> </select> </div> </div> </div> <div class='col-sm-12'> <div class='form-group'> <label for='campo_area' >Área o grupo del campo</label> $areas </div> </div> <div class='form-group'> <label for ='campo_descripcion'>Descripción o ayuda para el campo</label> <textarea class='form-control' name='campo_descripcion' id='campo_descripcion' cols=60 rows='3'>$campo_descripcion</textarea> </div> <input type='hidden' name='misma_area' id='misma_area' value='$area'> $agregar_a_formulario <div class='btn btn-block btn-default' OnClick=\"xajax_formulario_campos_procesar(xajax.getFormValues('$formulario'),'')\" /> <i class='glyphicon glyphicon-floppy-o'></i> Grabar </div> <br><input type ='hidden' name='id_especialista' id='id_especialista' value='$especialista'> $editar <input type ='hidden' name='tipo' id='tipo' value='nuevo'> <input type ='hidden' name='campo_identificador' id='campo_identificador' value='$identificador $especialista'> </form> </div> </div>"; $resultado = " <br> <div class='alert alert-info'> <legend>Crear un nuevo campo</legend> $resultado </div> "; $respuesta->addAssign("$div","innerHTML",$resultado); return $respuesta; } $xajax->registerFunction("crear_campos_formulario"); function formulario_crear_campo($area,$campo,$div){ $campos_formulario=""; $misma_area=""; $respuesta = new xajaxResponse('utf-8'); if($div==''){ $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>"; return $resultado; } //$div="div_campos"; $link=Conectarse(); mysqli_set_charset($link, "utf8"); $consulta_campos ="SELECT id, campo_nombre, campo_descripcion, tipo_campo_accion, campo_area, form_campos.activo, form_campos.campo_tipo FROM `form_campos` , `form_tipo_campo` WHERE id_empresa = '$_SESSION[id_empresa]' AND id = $campo AND form_campos.campo_tipo = form_tipo_campo.id_tipo_campo ORDER BY orden ASC"; $campos=mysqli_query($link,$consulta_campos); if($campo ==''){ $listado_campos = select('form_campos','id','campo_nombre',"xajax_formulario_crear_campo('',(this.value),'$div')","id_empresa = '$_SESSION[id_empresa]' AND activo = '1'",'campo_editar',''); $areas = tabla_areas('form_areas','id','nombre,descripcion,estado,orden','',"",'Areas',''); $tabla_campos = campos_tabla('id_especialista','','20','0',''); $buscador = campos_buscador("",""); $campos_formulario = " <form autocomplete='off' name='nuevo_campo' id='nuevo_campo' role='form'> <input type ='hidden' name='id_usuario' id='id_usuario' value='$_SESSION[id]'> <input type='hidden' name='div' id='div' value='$div'> </form> <div class='row' role='row'> <div class='col-sm-6'> $areas </div> <div class='col-sm-6'> <div class='btn btn-block btn-primary' OnClick=\"xajax_crear_campos_formulario(xajax.getFormValues('nuevo_campo'),'');\"><i class='glyphicon glyphicon-plus-sign'></i> Crear un nuevo campo</div> </div> <!-- <div class='col-sm-4'> <div class='input-group'><span class='input-group-addon'>Modificar campo</span> $listado_campos</div> </div> --> </div> <hr>$buscador <br> <div id='div_campos'>$tabla_campos</div> "; }else{ $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') "); // } $Tipo_campo ="<label for='campo_tipo'>Tipo:</label> <select class='form-control' name='campo_tipo' id='campo_tipo' onchange=\"xajax_formulario_opciones_select((this.value),'$campo') \" >"; $tipos=mysqli_query($link," SELECT * FROM `form_tipo_campo` WHERE activo = '1' "); while( $row_tipo = mysqli_fetch_array( $tipos ) ) { if($row_tipo['id_tipo_campo'] == $row['campo_tipo'] ){ $Tipo_campo .= " <option value='".$row_tipo['id_tipo_campo']."' SELECTED > > ".$row_tipo['id_tipo_campo']." - ".$row_tipo['tipo_campo_nombre']." < </option>"; } $Tipo_campo .= " <option value='".$row_tipo['id_tipo_campo']."'>".$row_tipo['id_tipo_campo']." - ".$row_tipo['tipo_campo_nombre']."</option>"; } $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_$row[id]"; $areas = select('form_areas',"id",'nombre','',"id_empresa = '$_SESSION[id_empresa]' or id_empresa ='1'",'campo_area',"$row[campo_area]"); $edicion = "$row[campo_nombre]"; $campos_formulario .= " <div id='contenido_$misma_area".$row[id]."'> <div class='alert alert-info' > <form autocomplete='off' role='form' id='$formulario' name='$formulario'> <input type='hidden' id='editar' name='editar' value='editar'> <input type='hidden' id='id_campo_editar' name='id_campo_editar' value='$campo'> <input type='hidden' name='misma_area' id='misma_area' value='$area'> <div class='row'> <div class='col-sm-4'> <div id='grupo_campo_nombre' class='form-group'> <label for='campo_nombre' >Nombre del campo</label> <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'> $Tipo_campo </div> <div class='col-sm-4'> <div class='form-group'> <label for='activo' >Estado</label> <select class='form-control alert-warning' value='1' name='activo' id='activo'> $activo <option value='1'>Activo: el campo puede ser usado en formularios</option> <option value='0'>Inactivo: El campo NO se usará</option> </select> </div> </div> </div> <div class='row'> <div class='col-sm-12'> <div class='form-group'> <label for='campo_area' >Área o grupo del campo</label> $areas $row[campo_area] </div> </div> <div class='col-sm-12'> <div class='form-group'> <label for='campo_descripcion' >Descripción del campo</label> <textarea type='text' class='form-control' id='campo_descripcion' name='campo_descripcion' >$row[campo_descripcion]</textarea> </div> </div> </div> <div class='row'> <div class='col-sm-4'> <div class='btn btn-block btn-success' OnClick=\"xajax_formulario_campos_procesar(xajax.getFormValues('$formulario'),'editar')\" /><i class='glyphicon glyphicon-floppy-o'></i> Grabar</div> </div> <div class='col-sm-4'> <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_contenido_cambiar('contenido_$misma_area".$row[id]."','');\" ><i class='glyphicon glyphicon-remove-sign'></i> Cancelar</div> </div> </div> </form> </div> </div>"; } }///fin de edicion $respuesta->addAssign($div,"innerHTML",$campos_formulario); return $respuesta; } $xajax->registerFunction("formulario_crear_campo"); function agregar_campos($tipo,$div,$id,$formulario){ $respuesta = new xajaxResponse('utf-8'); $link=Conectarse(); mysqli_set_charset($link, "utf8"); if($tipo==''){ $div="contenido"; $resultado = " <a href='#' onclick=\"xajax_agregar_campos('consultar_listado','$div','')\"><i class='glyphicon glyphicon-pencil-square-o'></i> Editar</a>"; print $resultado; return; } if($tipo=='consultar_listado'){ $consulta="SELECT * FROM form_id WHERE id_empresa = '$_SESSION[id_empresa]' ORDER BY nombre ASC"; $sql =mysqli_query($link,$consulta); if (mysqli_num_rows($sql)!='0'){ $resultado .="Formulario: <select class='form-control' name='id_consulta_tipo' id='id_consulta_tipo' onchange=\"xajax_agregar_campos('consultar_campos','$div',this.value)\">"; $resultado .= "<option value=''>Selecciona </option>"; while( $row = mysqli_fetch_array( $sql ) ) { $resultado .= "<option value='$row[id]'>$row[nombre]</option>"; } $resultado .="</select> $cerrar"; }else { $resultado = "<div class='alert alert-warning'><i class='glyphicon glyphicon-exclamation-triangle'></i> No hay formularios para editar</div>"; } } if ($tipo=='consultar_campos'){ /// restringe campo a propios form_campos.id_empresa = '$_SESSION[id_empresa]' AND $consulta=" SELECT form_contenido_campos.id_campo, form_contenido_campos.id, campo_nombre, obligatorio,control,multiple,form_contenido_campos.orden, form_campos.campo_tipo FROM form_contenido_campos, form_campos WHERE form_contenido_campos.id_form = $id AND form_contenido_campos.id_campo = form_campos.id ORDER BY form_contenido_campos.orden"; $sql =mysqli_query($link,$consulta); $consulta_nombre="SELECT * FROM form_id WHERE id ='$id'"; $sql_nombre =mysqli_query($link,$consulta_nombre); $nombre =mysqli_result($sql_nombre,0,"nombre"); $id_formulario = $id; //if (mysqli_num_rows($sql)!='0'){ $resultado ="$cerrar<h2>$nombre</h2> "; $parametrizacion = parametrizacion_titulo("$id",'','') ; $resultado .= "<label>Configuración del formulario</label> <div class='alert alert-success'><div id='div_parametrizacion'>$parametrizacion</div></div> "; while( $row = mysqli_fetch_array( $sql ) ) { /* $multiple = remplacetas('form_parametrizacion','campo',"$id",'descripcion'," tabla='form_id' and opcion = '$row[id]' AND descripcion REGEXP '^multiple:' ") ; $multiple = explode(":",$multiple[0]); $multiple = $multiple[1];*/ //$multiple = $multiple[0]; $privado = remplacetas('form_parametrizacion','campo',"$id_formulario",'opcion'," tabla='form_id' AND descripcion ='$row[id_campo]' AND opcion REGEXP '^privacidad:' ") ; $privado = explode(":",$privado[0]); $privado = $privado[1]; if($privado == "") { $privado="0";} if($row['obligatorio'] =='0') { $valor_obligatorio ='1'; $obligatorio_check='';}else{$valor_obligatorio='0'; $obligatorio_check='checked'; } if($row['multiple'] =='0') { $valor_multiple ='1'; $multiple_check='';}else{$valor_multiple='0'; $multiple_check='checked'; } if($privado =='0') { $valor_privado ='1'; $privado_check='';}else{$valor_privado='0'; $privado_check='checked'; } $edicion = "<a class='btn btn-link' onclick=\"xajax_formulario_crear_campo('','$row[id_campo]','contenido_$row[id_campo]');\"><i class='fa fa-pencil'></i><span class='hidden-xs'> Editar</span></a><span style='display:inline;'></span> "; $tipo_nombre = remplacetas_noid('form_tipo_campo','id_tipo_campo',"$row[campo_tipo]",'tipo_campo_nombre',"",'') ; //$multiple = $multiple[0]; $resultado .= "<div class='row alert alert-info'> <div class='col-md-4'> <ul class='list-group'> <li class='list-group-item active'>Campo: <strong>$row[campo_nombre]</strong><br>Id: <strong>$row[id_campo]</strong> Tipo: <strong>$tipo_nombre[0]</strong></li> </ul> </div> <div class='col-md-8' > <label class='checkbox-inline'> <input type='checkbox' value='$valor_obligatorio' onclick =\"xajax_actualizar_campo('form_contenido_campos','$row[id]','obligatorio',(this.value),'',''); \" $obligatorio_check> Obligatorio </label> <label class='checkbox-inline'> <input type='checkbox' value='$valor_privado' onclick =\"xajax_campo_privacidad(this.value,'$row[id_campo]','$id_formulario','grabar')\" $privado_check> Privado </label> <label class='checkbox-inline'> <input type='checkbox' value='$valor_multiple' onclick =\"xajax_actualizar_campo('form_contenido_campos','$row[id]','multiple',(this.value),'',''); \" $multiple_check> Multiple </label> <div class='row'> <div class='col-md-3 hidden-xs'> $edicion </div> <div class='col-md-3 col-xs-6 '> <span style='display:inline;' title='ELIMINAR' id='eliminar_$row[control]' > <a class='btn btn-danger btn-link' title='Click para cambiar el valor' onClick=\"xajax_agregar_campos('eliminar','eliminar_$row[control]','','$row[control]','$id','$div')\"> <i class='fa fa-ban'></i><span class=''> Quitar</span> </a> </span> </div> <div class='col-md-6 col-xs-6'> <div class='input-group ' title='ordenar'> <span class='input-group-addon' ><small><i class='fa fa-sort' aria-hidden='true' ></i></small><span class='hidden' id='orden_$row[control]'>$row[orden]</span></span> <input style='max-width: 100px;;' type='number' value='$row[orden]' size='3' class='form-control' id='input_orden_$row[control]' onchange =\"xajax_actualizar_campo('form_contenido_campos','$row[id]','orden',(this.value),'','orden_$row[control]'); \" > </div> </div> </div> </div> <div id='contenido_$row[id_campo]' class='' ></div> </div>"; } $consulta_campos_todos ="SELECT form_campos.id, form_campos.campo_nombre, form_campos.campo_descripcion , campo_tipo,tipo_campo_nombre FROM form_campos ,form_tipo_campo WHERE form_campos.campo_tipo = form_tipo_campo.id_tipo_campo AND (form_campos.id_empresa = '$_SESSION[id_empresa]' OR form_campos.tipo_contenido ='1') ORDER BY campo_nombre "; $sql_consulta_campo =mysqli_query($link,$consulta_campos_todos); $crear_nuevo =" <div name='atencion' id='atencion' style='display:inline'></div> <form autocomplete='off' name='nuevo_campo' id='nuevo_campo' role='form'> <input type ='hidden' name='id_usuario' id='id_usuario' value='$_SESSION[id_usuario]'> <input type='hidden' name='div' id='div' value='atencion'> </form> <div class='form-group'> <div class='btn btn-block btn-primary' OnClick=\"xajax_crear_campos_formulario(xajax.getFormValues('nuevo_campo'),'$id');\"><i class='glyphicon glyphicon-plus-sign'></i> Crear campo</div> </div> </div> "; while( $row = mysqli_fetch_array( $sql_consulta_campo ) ) { $valores .= "<option value='$row[id]' title='$row[campo_descripcion]'>$row[campo_nombre] [$row[id] $row[tipo_campo_nombre]]</option>"; } $resultado .=" <br> <div class='input-group'> <span class='input-group-addon'><i class='glyphicon glyphicon-plus-sign'></i> Agregar campo a este formulario</span> <select class='form-control' name='id_form_campo' id='id_form_campo' onchange=\"xajax_agregar_campos('grabar_campos','$div',this.value,'$id')\"> <option value='nuevo'> Seleccione un campo </option> $valores </select> <span class='input-group-btn'> <div class='btn btn-default' onclick=\"xajax_agregar_campos('consultar_campos','contenido','$id')\">Actualizar</div> </span> </div> <br> $crear_nuevo "; }/// fin de consultar_campos if($tipo=='grabar_campos'){ if ($id=="nuevo") { } elseif($id =="") { $div='atencion';$resultado="<i class='glyphicon glyphicon-exclamation-triangle'></i> Seleccione un campo";} else { $id_form=func_get_arg(3); $consulta = "SELECT id_campo FROM form_contenido_campos WHERE id_empresa = '$_SESSION[id_empresa]' AND id_campo= '$id' AND id_form= $id_form"; $sql_consulta =mysqli_query($link,$consulta); if(isset($_SESSION['id_empresa'])) {$id_empresa= $_SESSION['id_empresa'];}if(mysqli_num_rows($sql_consulta) =='0') { $microtime = microtime(); $orden = remplacetas('form_contenido_campos','id_form',$id_form,'orden',"") ; $nuevo_orden = $orden[0]+1; $consulta_grabar=" INSERT INTO form_contenido_campos ( `id_campo` , `id_empresa` , `orden` , `id_form` , `obligatorio`, `control` ) VALUES ( '$id', '$id_empresa','$nuevo_orden', '$id_form', '0', md5('$microtime' + rand()) )"; $sql_consulta_grabar =mysqli_query($link,$consulta_grabar); $respuesta->addScript("xajax_agregar_campos('consultar_campos','$div','$id_form')"); return $respuesta; }else{ $div='atencion';$resultado="<i class='glyphicon glyphicon-exclamation-triangle'></i> El campo ya pertenece a este formulario "; } } }///fin de grabar_campos if($tipo=='eliminar'){ $confirmar=func_get_arg(3); if($id==''){ $id_c=func_get_arg(4); $capa_original=func_get_arg(5); $resultado = " <p class='text-danger'>Seguro que desea eliminar el campo de esta consulta?</p> <a onClick=\"xajax_agregar_campos('eliminar','eliminar_$confirmar','$confirmar','$confirmar','$id_c','$capa_original')\"> [SI] </a> <a onClick=\"xajax_agregar_campos('eliminar','eliminar_$confirmar','x','$confirmar','$id_c','$capa_original')\"> [NO]</a> ";} else{ if($id=='x'){ /// si se pasa una x como argumento se regresa a la capa original $resultado .= "<a title='Click para cambiar el valor' onClick=\"xajax_agregar_campos('eliminar','eliminar_$confirmar','','$confirmar')\"> <i class='fa fa-ban'></i> Quitar del formulario </a>"; $respuesta->addAssign($div,"innerHTML",$resultado); return $respuesta; }else{ $consulta="DELETE FROM `form_contenido_campos` WHERE `control` = '$confirmar' LIMIT 1"; $sql_consulta_eliminar = mysqli_query($link,$consulta); $div=func_get_arg(5); $id_consulta=func_get_arg(4); $respuesta->addScript("xajax_agregar_campos('consultar_campos','$div','$id_consulta')"); } } $respuesta->addAssign($div,"innerHTML",$resultado); return $respuesta; }/// fin de eliminar if($tipo == 'obligatorio'){ if($id == '0'){$id='1';}else{$id='0';} $control = func_get_arg(3); $consulta= "UPDATE `form_contenido_campos` SET `obligatorio` = '$id' WHERE `control` = '$control' LIMIT 1 "; $sql_consulta_grabar =mysqli_query($link,$consulta); $a ="<a title='Click para cambiar el valor' onClick=\"xajax_agregar_campos('obligatorio','obligatorio_$control','$id','$control')\">$id </a>"; $respuesta->addAssign($div,"innerHTML",$a); return $respuesta; }/// fin de obligatorio if($tipo == 'orden'){ /// orden $control = func_get_arg(3); $consulta= "UPDATE `form_contenido_campos` SET `orden` = '$id' WHERE `control` = '$control' LIMIT 1 "; $sql_consulta_grabar =mysqli_query($link,$consulta); $a ="<input type='text' size='2' title='Escriba un valor para el orden de aparición de este campo en la consulta' value='$id' onChange=\"xajax_agregar_campos('orden','orden_$control',this.value,'$control')\">$id </a>"; $respuesta->addAssign($div,"innerHTML",$a); return $respuesta; }/// fin de obligatorio if($tipo == 'prellenado'){ if($id == '0'){$id='1';}else{$id='0';} $control = func_get_arg(3); $consulta= "UPDATE `consulta_tipo_campos` SET `prellenado` = '$id' WHERE `control` = '$control' LIMIT 1 "; $sql_consulta_grabar =mysqli_query($link,$consulta); $a ="<a title='Click para cambiar el valor' onClick=\"xajax_agregar_campos('prellenado','prellenado_$control','$id','$control')\">$id </a>"; $respuesta->addAssign($div,"innerHTML",$a); return $respuesta; }/// fin de oprellenado $respuesta->addAssign($div,"style.display","block"); $respuesta->addAssign($div,"innerHTML",$resultado); return $respuesta; } $xajax->registerFunction("agregar_campos"); function formulario_nuevo($formulario,$div){ $resultado =""; $formulario = mysql_seguridad($formulario); $respuesta = new xajaxResponse('utf-8'); //$formulario=mysqli_real_escape_string($formulario); $id_empresa= $_SESSION['id']; if($div==''){ $div = "contenido"; $resultado .= "<a href='#' onclick=\"xajax_formulario_nuevo('','$div'); \"><i class='glyphicon glyphicon-plus-sign-o'></i> Formulario </a> "; return $resultado; } if($formulario ==''){ $formulario_nombre = "nuevo_formulario"; $formulario_respuesta = select('form_id','id','nombre','',"id_empresa = '$_SESSION[id_empresa]'",'formulario_respuesta',''); $resultado .= " <form autocomplete='off' role='form' id='$formulario_nombre' name='$formulario_nombre' > <legend>Crear un formulario</legend> <div class='form-group'> <label for='consulta_tipo_nombre' >Nombre para el formulario</label> <input class='form-control' type='text' id='nombre' name='nombre' maxlenght='30' > </div> <div class='form-group'> <label for='consulta_tipo_descripcion'>Descripción</label> <textarea class='form-control' id='descripcion' name='descripcion'></textarea> </div> <div class='form-group'> <label for='formulario_respuesta'>Formulario anidado con: </label> $formulario_respuesta </div> <div class='form-group'> <label for='grupo'>Grupo: </label> <input class='form-control' id='grupo' name='grupo' type='text' placeholder='Escriba el nombre del grupo'> </div> <div class='input-group '> <span class='input-group-addon'>Privado</span> <input id='publico' name='publico' type='range' value='0' min='0' max='1' class='form-control'> <span class='input-group-addon alert-danger'>Público</span> </div> <div class='form-group alert-warning'> </div> <div class='btn btn-success btn-block' onclick=\"xajax_formulario_nuevo(xajax.getFormValues('$formulario_nombre'),'$div') \"> Grabar </div> </form>"; }else{ $control = md5(rand(1,99999999).microtime()); $nombre = $formulario['nombre']; // aa $descripcion = $formulario['descripcion']; // dxddc $publico = $formulario['publico']; // dxddc $grupo = $formulario['grupo']; $id_empresa = $_SESSION['id_empresa']; if($publico =='') {$publico ='0';} $propietario= $_SESSION['id']; $formulario_respuesta = $formulario['formulario_respuesta']; // dxddc $link=Conectarse(); @$formulario=mysqli_real_escape_string($link,$formulario); mysqli_set_charset($link, "utf8"); $consulta = "INSERT INTO `form_id` ( `nombre`, `descripcion`, `activo`, `modificable`, `publico`, `propietario`, `formulario_respuesta`, `id_empresa`) VALUES ('$nombre', '$descripcion', '1', '1', '$publico', '$propietario','$formulario_respuesta','$id_empresa');"; $sql=mysqli_query($link,$consulta); $ultimo_id = mysqli_insert_id($link); if($grupo !="") { $consulta_grupo = "INSERT INTO form_grupo set id = '$ultimo_id',grupo = '$grupo' ,id_empresa= '$id_empresa'"; $sql_grupo=mysqli_query($link,$consulta_grupo); } $respuesta->addscript("xajax_formulario_listado('','contenido',''); "); } $respuesta->addAssign($div,"innerHTML",$resultado); return $respuesta; }$xajax->registerFunction("formulario_nuevo"); function formulario_listado($filtro_grupo,$div,$id_form){ $name=""; $item=""; $mostrar_panel=""; $grupo_formularios=""; if ( !isset ( $_SESSION['id_empresa'] ) ) { $respuesta = new xajaxResponse('utf-8'); $respuesta->addRedirect("index.php"); return $respuesta; } if(isset($_SESSION['id_empresa'])) {$id_empresa= $_SESSION['id_empresa'];} if($div==''){ /// muestra el boton $div = "contenido"; if(isset($_SESSION['grupo_formularios'])) { $sesion_grupo_formularios = $_SESSION['grupo_formularios'];}else { $sesion_grupo_formularios = "";} $resultado = "<li data-toggle='collapse' data-target='.navbar-collapse' id='link_formulario'><a href='#' onclick=\"xajax_formulario_listado('$sesion_grupo_formularios','$div',''); \"><i class='glyphicon glyphicon-list'></i> Aplicaciones</a></li> "; return $resultado;; } $control = md5(rand(1,99999999).microtime()); $respuesta = new xajaxResponse('utf-8'); $_SESSION['grupo_formularios'] = $filtro_grupo; $link=Conectarse(); $id=mysqli_real_escape_string($link,'$id'); mysqli_set_charset($link, "utf8"); if($id_form !="") { if(is_numeric($id_form)) { $w_id ="AND form_id.id = '$id_form' ";} else{ // si es el BUSCADOR POR NOMBRE $w_id ="AND form_id.nombre LIKE '%%$id_form%%' ";} $mostrar_panel ="in";} else{ $w_id="";} if($filtro_grupo =="") { $consulta = "SELECT * FROM form_id WHERE id_empresa ='$_SESSION[id_empresa]' $w_id ORDER BY orden ASC"; } else { // SI ES EL SELECTOR DE GRUPOS $mostrar_panel ="in"; $consulta = " SELECT * FROM form_id, form_grupo WHERE form_grupo.id = form_id.id AND form_grupo.grupo = '$filtro_grupo' $w_id AND form_id.id_empresa ='$_SESSION[id_empresa]' ORDER BY orden ASC"; } $sql=mysqli_query($link,$consulta); if($filtro_grupo !="") { $leyenda_filtro_grupo ="<legend>Grupo $filtro_grupo</legend>";} else{ $leyenda_filtro_grupo =" <legend> Aplicaciones </legend>"; unset($_SESSION['grupo_formularios']); } $resultado_link = "<a href='#' onclick=\"xajax_formulario_listado('".@$_SESSION[grupo_formularios]."','$div',''); \"><i class='glyphicon glyphicon-list'></i> Aplicaciones</a> "; $respuesta->addAssign("link_formulario","innerHTML",$resultado_link); $divider = 1; $columnas = intval(12/$divider); // $listado_grupos = select_empresa('form_grupo','grupo','grupo',"xajax_formulario_listado((this.value),'contenido')","AGRUPADO",'','',"$id_empresa"); $listado_grupos = select_empresa('form_id, form_grupo','grupo','grupo',"xajax_formulario_listado((this.value),'contenido','')","form_grupo.id = form_id.id",'','',"$id_empresa"); $buscador = "<input placeholder='Sensible a mayúsculas' title='Sensible a mayúsculas' class='form-control' id='id_form' id='id_form' onchange=\"xajax_formulario_listado('','contenido',(this.value)) \">"; $listado_grupos =" <div class='row'> <div class='col-md-6'> <div class='input-group'> <span class='input-group-addon'>Grupos</span> $listado_grupos </div> </div> <div class='col-md-6'> <div class='input-group'> <span class='input-group-addon'>Buscador</span> $buscador </div> </div> </div> "; $clonar = clonar_formulario($id_form,$id_empresa,"","","formato"); $mover = mover_formulario($id_form,$id_empresa,"formato"); $nuevo_formulario = " <div class='form-group'> <a class='btn btn-success btn-block ' href='#' onclick=\"xajax_formulario_nuevo('','contenido'); \"> <i class='glyphicon glyphicon-plus-sign-o'></i> Crear aplicación </a> </div>"; $acciones = " <div class='col-sm-4' style=''> $nuevo_formulario </div> <div class='col-sm-8' style=''> $listado_grupos </div> $leyenda_filtro_grupo "; $resultado="$acciones"; if (mysqli_num_rows($sql)!='0' ){ $i =0; while( $row = mysqli_fetch_array( $sql ) ) { $id= $row['id']; $C = $id; $cantidad = formulario_contar($row['id']); if($cantidad >0) {$cantidad ="<li class='list-group-item'>Interacciones: $cantidad </li>";}else{$cantidad = "";} $propietario = remplacetas('usuarios','id',$row['propietario'],'email',"") ; $estado = remplacetas('form_id','id',$id,'publico',"") ; $nombre_formulario = remplacetas('form_id','id',$id,'nombre',"") ; $descripcion_formulario = remplacetas('form_id','id',$id,'descripcion',"") ; $estado = "<tr><td> <div class='input-group '> <span class='input-group-addon'>Contenido privado</span> <input type='range' value='$estado[0]' min='0' max='1' class='form-control' onchange =\"xajax_actualizar_campo('form_id','$row[id]','publico',(this.value),'',''); \"> <span class='input-group-addon alert-danger'>Público</span> </div> </td></tr>"; $modificable = remplacetas('form_id','id',$id,'modificable',"") ; if($modificable[0] !="") { if($modificable[0] =='0') { $Modificable= "Privado";} elseif($modificable[0] =='1') { $Modificable= "Público";} else { $Modificable= "Semi-público";} $select_modificable ="<option value='$modificable[0]' selected>$Modificable</option>"; } $modificable = "<tr><td> <div class='input-group'> <div class='input-group-addon'> Formulario </div> <select class='form-control' onchange =\"xajax_actualizar_campo('form_id','$row[id]','modificable',(this.value),'',''); \"> $select_modificable <option value='0'>Privado</option> <option value='1'>Público</option> <option value='2'>Semi-publico</option> </select> </td></tr>"; $primer = formulario_uso("$id",'','primer') ; if(@$primer[0] !='') {$primer = "<li class='list-group-item'>Primer registro: <a onclick=\"xajax_formulario_modal('','','$primer[1]',''); \"> ".date ( "Y-m-d h:i:s" , $primer[0])."</a></li>";}else{$primer='';} $ultimo = formulario_uso("$id",'','ultimo') ; @$ultimo_control = $ultimo[1]; if(@$ultimo[0] !='') {$ultimo = "<li class='list-group-item'>Último registro: <a onclick=\"xajax_formulario_modal('','','$ultimo[1]',''); \"> ".date ( "Y-m-d h:i:s" , $ultimo[0])."</a></li>";}else{$ultimo='';} $nombre = editar_campo("form_id",$row['id'],"nombre","","","",""); $orden = editar_campo("form_id",$row['id'],"orden","","","",""); $descripcion = editar_campo("form_id",$row['id'],"descripcion","","","",""); $geo = buscar_campo_tipo($id,"14"); $email_envio = remplacetas('form_parametrizacion','campo',"$row[id]",'descripcion'," tabla='form_id' and opcion = 'email'") ; $mensaje_envio = remplacetas('form_parametrizacion','campo',"$row[id]",'descripcion'," tabla='form_id' and opcion = 'mensaje_envio'") ; $mostrar = remplacetas('form_parametrizacion','campo',$row['id'],'descripcion'," tabla='form_id' AND opcion='mostrar_portal'") ; $llenar = remplacetas('form_parametrizacion','campo',$row['id'],'descripcion'," tabla='form_id' AND opcion='llenar_portal'") ; $ver_data = remplacetas('form_parametrizacion','campo',$row['id'],'descripcion'," tabla='form_id' AND opcion='ver_data_portal'") ; $pagina_inicio = remplacetas('form_parametrizacion','campo',$row['id'],'descripcion'," tabla='form_id' AND opcion='pagina_inicio'") ; if($pagina_inicio[0] !="1"){$pagina_inicio[0] ="0";} $vista_favorita = remplacetas('form_parametrizacion','campo',$row['id'],'descripcion'," tabla='form_id' AND opcion='vista_favorita'") ; if($geo[0] !='') { $mapa= "<li class='list-group-item'><a href='mapero.php?id=$id' target='mapa'><i class='glyphicon glyphicon-globe'></i> Mapa</a></li>";}else {$mapa='';} if($i % $divider==0) { //$item .= ""; } $i++; $grupo_actual = remplacetas('form_grupo','id',$row['id'],'grupo',"") ; if(is_null($grupo_actual[3])) { $valores_grupo['id']=$row['id']; $valores_grupo['grupo']=""; $grupo = " <div id = 'div_grupo_$row[id]'> <form autocomplete='off' id='form_grupo_$row[id]' name='form_grupo_$row[id]'> <input name='grupo' id='grupo' type='text' placeholder='Grupo'> <input name='id' id='id' type='hidden' value='$row[id]'> <div class='btn btn-default btn-success' onclick=\"xajax_insertar_registro('form_grupo',xajax.getFormValues('form_grupo_$row[id]'),'div_grupo_$row[id]','grupo'); \"><i class='glyphicon glyphicon-floppy-disk'></i></div> </form> </div> "; // $grupo = "Grupo ".editar_campo("form_grupo",$row['id'],"grupo","","",""); }else { $grupo = "".editar_campo("form_grupo",$row['id'],"grupo","","","",""); } ${"key_lectura_".$id} = remplacetas('form_permisos','form_id',"$id",'permiso',"id_empresa = '$_SESSION[id_empresa]' AND tipo='lectura'") ; ${"key_escritura_".$id} = remplacetas('form_permisos','form_id',"$id",'permiso',"id_empresa = '$_SESSION[id_empresa]' AND tipo='escritura'") ; ${"key_administrador_".$id} = remplacetas('form_permisos','form_id',"$id",'permiso',"id_empresa = '$_SESSION[id_empresa]' AND tipo='administrador'") ; $item .= "<!-- <div class='col-sm-$columnas' style=';'> --> <div class='panel panel-default' > <div class='panel-heading' id= 'encabezado_$row[id]' role='tab'> <div class='panel-title container-fluid'> <div class='col-xs-12 col-sm-12col-md-12 col-lg-12' > <h2 >$row[id] <small>$nombre_formulario[0]</small> </h2> <ul class='list-group col-md-6'> <li class='list-group-item'>Creación: $row[creacion] / $propietario[0]</li> $cantidad $mapa </ul> <ul class='list-group col-md-6'> $ultimo $primer </ul> </div> <div> </div> <div class='col-xs-12 col-sm-12' id='form_admin'> <div style='display:none' id='div_mostrar_portal_$row[id]'></div> <ul class='list-group'> <li class='list-group-item'> <div class='btn btn-default' onclick=\"xajax_consultar_formulario('$row[id]','10','','modal'); \"><i class='glyphicon glyphicon-eye-open'></i> Consultar</div> <a class='btn btn-default ' onclick =\" xajax_formulario_importar_subir('$id') \" ><i class='glyphicon glyphicon-upload'></i> Importar</a> <a class='btn btn-default ' href='../g$id' target='formulario'><i class='glyphicon glyphicon-floppy-disk'></i> Llenar</a> <a class='btn btn-default collapsed' role='button' data-toggle='collapse' data-parent='#acordion_grid' href='#collapse$row[id]' aria-expanded='false' aria-controls='collapse$row[id]'> <i class='glyphicon glyphicon-edit'></i> Editar </a> <a class='btn btn-default collapsed text-right' role='button' data-toggle='collapse' data-parent='#acordion_grid' href='#config_form$row[id]' aria-expanded='false' aria-controls='config_form$row[id]'> <i class='glyphicon glyphicon-cog'></i> </a> </li> <div id='config_form$row[id]' class='panel-collapse collapse' role='tabpanel' aria-labelledby='encabezado_$row[id]'> <div class='panel-body' > <div class='container-fluid'> <div id='api' class='row'> <legend>API</legend> <button class='btn btn-warning' onclick=\"xajax_generar_token('token_administrador_$id','administrador'); \"> <i class='glyphicon glyphicon-refresh'></i> Token administrador</button></span> <div class='form-group'> <textarea rows='4' class='form-control ' id='token_administrador_"."$id"."' readonly>".${"key_administrador_".$id}[0]."</textarea> <legend id='token_administrador_$id"."_aviso' style='overflow-wrap:break-word;'></legend> </div> <button class='btn btn-warning' onclick=\"xajax_generar_token('token_lectura_$id','lectura'); \"> <i class='glyphicon glyphicon-refresh'></i> Token lectura</button></span> <div class='form-group'> <textarea rows='4' class='form-control ' id='token_lectura_"."$id"."' readonly>".${"key_lectura_".$id}[0]."</textarea> <legend id='token_lectura_$id"."_aviso' style='overflow-wrap:break-word;'></legend> </div> <button class='btn btn-warning' onclick=\"xajax_generar_token('token_escritura_$id','escritura'); \"> <i class='glyphicon glyphicon-refresh'></i> Token escritura</button></span> <div class='form-group'> <textarea rows='4' class='form-control ' id='token_escritura_"."$id"."' readonly>".${"key_escritura_".$id}[0]."</textarea> <legend id='token_escritura_$id"."_aviso' style='overflow-wrap:break-word;'></legend> </div> <legend>Portal</legend> <li class='list-group-item'> <div class='input-group'> <span class='input-group-addon'>NO</span> <input type='range' value='$mostrar[0]' class='form-control' NAME='mostrar_portal' id='mostrar_portal' onchange=\"xajax_parametrizacion_linea('form_id','$row[id]','mostrar_portal',(this.value),'div_mostrar_portal_$row[id]'); \" min='0' max='1' > <span class='input-group-addon'>SI</span><span class='input-group-addon alert-success' id= 'div_mostrar_$row[id]'>Mostrar en el portal</span> </div> <li class='list-group-item'> <div class='input-group'> <span class='input-group-addon'>NO</span> <input type='range' value='$llenar[0]' class='form-control' NAME='llenar_portal' id='llenar_portal' onchange=\"xajax_parametrizacion_linea('form_id','$row[id]','llenar_portal',(this.value),'div_mostrar_portal_$row[id]'); \" min='0' max='1' > <span class='input-group-addon'>SI</span><span class='input-group-addon alert-success' id= 'div_llenar_$row[id]'>Llenar desde el portal</span> </div> </li> <li class='list-group-item'> <div class='input-group'> <span class='input-group-addon'>NO</span> <input type='range' value='$ver_data[0]' class='form-control' NAME='ver_data_portal' id='ver_data_portal' onchange=\"xajax_parametrizacion_linea('form_id','$row[id]','ver_data_portal',(this.value),'div_mostrar_portal_$row[id]'); \" min='0' max='1' > <span class='input-group-addon'>SI</span><span class='input-group-addon alert-success' id= 'div_ver_$row[id]'>Ver data desde el portal</span> </div> </li> </div> </div> </div> </ul> </div> </div> </div> <div id='collapse$row[id]' class='panel-collapse collapse' role='tabpanel' aria-labelledby='encabezado_$row[id]'> <div class='panel-body' > <div class='container-fluid'> <div class='row'> <div class='col-md-4'> <div class='btn btn-block btn-success' onclick=\"xajax_agregar_campos('consultar_campos','contenido','$row[id]')\">Agregar o quitar campos</div> </div> <!-- <div class='col-md-4'> <a class='btn btn-primary btn-block' href='#' onclick=\"xajax_formulario_modal('$row[id]','','',''); \">Llenar</a> </div> --> <div class='col-md-4'> <a class='btn btn-warning btn-block' href='#' onclick=\"xajax_formulario_parametrizacion($row[id],'','contenido',''); \">Parametrización</a> </div> <div class='col-md-4'> <div id='eliminar_$row[id]'> <a class='btn btn-danger btn-block' href='#' onclick=\"xajax_formulario_eliminar($row[id],''); \"><i class='glyphicon glyphicon-trash'></i> Eliminar</a></div> </div> </div> <ul class='list-group'> <li class='list-group-item'><h3><small>Nombre:</small>$nombre</h3></li> <li class='list-group-item'><h4><small>Descripción:</small>$descripcion</h3></li> <li class='list-group-item'><h4><small>Orden:</small>$orden <small>Grupo:</small> $grupo</h4></li> <li class='list-group-item'> <div class='input-group ' > <span class='input-group-addon primary'>Vista favorita <strong id='div_vista_favorita_$row[id]'> $vista_favorita[0]</strong></span> <select class='form-control' id='vista_favorita_$row[id]' name='vista_favorita_$row[id]' onchange=\"xajax_parametrizacion_linea('form_id','$row[id]','vista_favorita',document.getElementById('vista_favorita_$row[id]').value,'div_vista_favorita_$row[id]'); \"> <option value='$vista_favorita[0]' selected>$vista_favorita[0]</option> <option value='libro'>Libro [b]</option> <option value='aplicacion'>Aplicación [a]</option> <option value='set'>Set de datos [s]</option> <option value='mapa'>Mapa</option> <option value='formulario'>Formulario</option> <option value='presentacion'>Presentación</option> <option value='timeline'>Timeline</option> <option value='informe'>Informe</option> <option value='planilla'>Planilla</option> <option value='agenda'>Agenda</option> <option value='checklist'>Checklist</option> <option value='notas'>Notas</option> <option value='landingpage'>Landingpage</option> </select> </div> </li> <li class='list-group-item row'> <div class='col-md-5'> <legend>Mensaje de respuesta </legend> <div id='div_mensaje_envio_$row[id]'> <textarea style='min-height:145px;' class='form-control' id='mensaje_envio_$row[id]' name='mensaje_envio_$row[id]' value=''>$mensaje_envio[0]</textarea> <small>Soporta CSS3, HTML5 y Bootstrap</small> <div class='btn btn-default btn-block' onclick=\"xajax_parametrizacion_linea('form_id','$row[id]','mensaje_envio',document.getElementById('mensaje_envio_$row[id]').value,'preview_mensaje_envio_$row[id]'); \"><i class='glyphicon glyphicon-floppy-disk'></i> Grabar y previsualizar</div> </div> </div> <div class='col-md-7'> <legend>Previsualización</legend> <div id='preview_mensaje_envio_$row[id]' class='container-fluid' style='min-height:200px; border: solid 1px gray; border-radius: 3px;'> $mensaje_envio[0] </div> </div> </li> <li class='list-group-item'> <div id='div_email_envio_$row[id]'> <div class='input-group' > <span class='input-group-addon'>Definir un email para envío</span> <input class='form-control' id='email_envio_$row[id]' name='email_envio_$row[id]' value='$email_envio[0]'> <div class='input-group-btn'> <div class='btn btn-default' onclick=\"xajax_parametrizacion_linea('form_id','$row[id]','email',document.getElementById('email_envio_$row[id]').value,'div_email_envio_$row[id]'); \"><i class='glyphicon glyphicon-floppy-disk'></i></div> </div> </div> </div> </li> </ul> </div> <div class='row'> <div class='col-md-6'> $estado </div> <div class='col-md-6'> $modificable </div> </div> </div> </div> </div> "; if($i%$divider==0) { $item .= "</div> "; } } //$resultado .=""; } else{ $resultado .= "<div class='alert alert-warning' ><h2>No hay formularios para mostrar</h2></div> ";} $resultado_formulario =" <div class='panel-group' id='accordion_accion_formulario' role='tablist' aria-multiselectable='true'> <div id='panel_administrar' class='panel panel-collapse collapse in panel-default' role='tabpanel' aria-labelledby='encabezado_administrar' > <div class='panel-heading'> <a data-parent='#accordion_accion_formulario' class='btn btn-success' id='form_btn_admin' role='button' data-toggle='collapse' href='#panel_administrador' aria-expanded='false' aria-controls='collapseExample'> <i class='glyphicon glyphicon-bars'></i> Administrar </a> <span class='panel-title'> Administración de formularios </span> </div> <div class='panel-body collapse $mostrar_panel' id='panel_administrador'> <div class='panel-group' id='acordion_grid' role='tablist' aria-multiselectable='true'> $item </div> </div> </div> $clonar $mover </div> "; /* */ if($id_form !="" OR isset($_SESSION['grupo_formularios'])){ $resultado = "$resultado $resultado_formulario "; }else{ $listado_aplicaciones = aplicaciones_tabla("","",""); $resultado=" $acciones $listado_aplicaciones $clonar $mover";} $respuesta->addAssign($div,"innerHTML",$resultado); return $respuesta; }$xajax->registerFunction("formulario_listado"); function formulario_eliminar($id,$tipo) { $respuesta = new xajaxResponse('utf-8'); $nombre = remplacetas('form_id','id',$id,'nombre',"") ; $nombre_form = $nombre[0]; if($tipo =='') { $resultado ="<div class='alert alert-danger'> <h1>Se eliminará el formulario <b>$nombre_form</b> ($id) </h1> <a class='btn btn-success ' href='#' onclick=\"xajax_formulario_eliminar('$id','eliminar'); \"><i class='glyphicon glyphicon-trash'></i> Aceptar</a> <a class='btn btn-danger ' href='#' onclick=\"xajax_formulario_eliminar('$id','cancelar'); \"><i class='glyphicon glyphicon-remove-sign'></i> Cancelar</a> </div> "; }elseif($tipo=='cancelar') { $resultado ="<a class='btn btn-danger btn-block' href='#' onclick=\"xajax_formulario_eliminar('$id',''); \"><i class='glyphicon glyphicon-trash'></i> Eliminar</a>"; }elseif($tipo =='eliminar'){ $consulta = "DELETE FROM form_id WHERE form_id.id = '$id' "; $link=Conectarse(); $sql=mysqli_query($link,$consulta); if($sql) { $respuesta->addAlert("Se eliminó el formulario \" $nombre_form \" "); $respuesta->addAssign("panel_$id","innerHTML",""); return $respuesta; } } else {} $respuesta->addAssign("eliminar_$id","innerHTML",$resultado); return $respuesta; }$xajax->registerFunction("formulario_eliminar"); function campo_multiple($id_campo,$id_form,$control,$item){ //if ( !isset ( $_SESSION['id'] ) ) { return;} if($item==''){$item=1;} $id= $item; $render = formulario_campos_render($id_campo,$id_form,$control,$item+1); $ingredientes = " <div id='ingrediente_linea_$id' style='display:inline'> $render </div> "; $boton= "<div style='display:inline' class='btn btn-link' onclick=\"xajax_campo_multiple('$id_campo','$id_form','$control','".($item+1)."') \"> <i class='glyphicon glyphicon-plus-circle'></i> Agregar campo </div>"; $div = "id_campo_$id_campo"."_".$id; $respuesta = new xajaxResponse('utf-8'); #$respuesta->addAssign($div,"innerHTML",$ingredientes); $respuesta->addAssign("multiple_$div","innerHTML",$ingredientes); $respuesta->addAssign("boton_".$id_campo."","innerHTML","$boton "); return $respuesta; } $xajax->registerFunction("campo_multiple"); function subidor_generico($campo,$item,$form,$valor,$ubicacion){ $campo_mapa = buscar_campo_tipo($form,"14"); $campo_mapa = $campo_mapa[0]; $name= $campo."[".$item."]"; $tipo_campo = remplacetas("form_campos","id","$campo","campo_tipo",""); if($tipo_campo[0] =='15'){ $onchange= "comprueba_imagen('$campo','$item', (this.value),'$campo_mapa' ,'$ubicacion') ;"; }else { $onchange= "comprueba_archivos('$campo','$item', (this.value),'$campo_mapa','$ubicacion' ) ;"; } $resultado = " <div id='wrap'> <div id='alert_$name' class='alert alert-info'> <input id='$name' name='$name' value='$valor' type='hidden'/> <div class='row '> <div class='col-md-4'> <input class='form-control' value='' type='file' id='$campo-$item' name='$campo-$item' class='rm-input' onchange=\"$onchange \" onclick=\"document.getElementById('progressBar_').value='0'; document.getElementById('image_preview_$name').src = ''; document.getElementById('alert_$name').className = 'alert alert-info'; document.getElementById('div_preview_$name').innerHTML = ''; \"; /> </div> <div class='col-md-4'> <img id='image_preview_$name' style='max-width:200px;' alt='' /><div id= div_preview_$name></div> </div> <div class='col-md-4' id=''> <div id='div_adjunto_$name'> <div id='fileSize_$name'></div><div id='fileType_$name'></div><div id='fileName_$name'></div><div id='percentageCalc_$name'></div> </div> </div> </div> </div> <progress id='progressBar_' value='0' max='100' class='rm-progress' style='width:100%'></progress> <div id='percentageCalc_'></div> </div> "; return $resultado; } function campo_tabla($array,$control,$tipo){ //return print_r($valor); // start table //$json=json_encode($array,true); $html = "<table class='table table-bordered table-striped table-condensed tabla_campo_tabla'>"; // header row $cantidad = 0; $html .= '<thead><tr>'; foreach($array[0] as $key=>$value){ $html .= '<th>' . htmlspecialchars($key) . '</th>'; } $html .= '</tr></thead>'; // data rows foreach( $array as $key=>$value){ $html .= '<tr>'; foreach($value as $key2=>$value2){ if($value2 != ""){ $cantidad++;} $html .= '<td>'.$value2.'</td>'; } $html .= '</tr>'; } // finish table and return it $html .= '</table>'; if($cantidad >0 ){ $resultado ="<div class='container-fluid table-responsive'>$html</div>"; } else{ $resultado="";} return $resultado; } function campo_tabla_fila($id_campo,$fila,$valor){ $campos_valores = remplacetas('form_campos_valores','id_form_campo',$id_campo,'campo_valor',"") ; $titulos = explode(";",$campos_valores[0]); if($valor !=""){ $json= json_encode($valor); $array =$valor[$id_campo][0]; foreach( $array as $key=>$value){ $fila_edicion = ($key+1); $html .= "<tr id=' fila_".$id_campo."_$fila_edicion'><td>$fila_edicion</td>"; foreach($value as $key2=>$value2){ // $html .= '<td>' . htmlspecialchars($value2) . '</td>'; $html .= "<td><textarea name='$id_campo"."[0][$key][$key2]' id='$id_campo"."[0][$key][$key2]' type='text' class='form-control'>$value2</textarea></td>"; } $html .= '</tr>'; } return $html; }else{ $json=""; } $nueva_fila=($fila+1); for($i=0;$i<count($titulos);$i++) { $listado_campos .= " <td> <textarea name='$id_campo"."[0][$fila][$titulos[$i]]' id='$id_campo"."[0][$fila][$titulos[$i]]' type='text' class='form-control'></textarea> </td>"; } $listado_campos ="<td>$nueva_fila $cantidad_filas</td>$listado_campos"; if($fila=='0'){ $resultado="<tr id=' fila_".$id_campo."_$nueva_fila'>$listado_campos </tr>"; return $resultado; } $respuesta = new xajaxResponse('utf-8'); #$respuesta->addAssign($div,"innerHTML",$ingredientes); $boton="<a onclick=\"xajax_campo_tabla_fila('$id_campo','$nueva_fila'); \" class='btn btn-link pull-right'>[+] Agregar fila</a>"; $respuesta->addAssign("nueva_fila_$id_campo","innerHTML","$boton"); $respuesta->addcreate("tabla_$id_campo","tr","fila_".$id_campo."_$nueva_fila"); //"<tr id='fila_".$id_campo."_$nueva_fila' >"; $respuesta->addAssign("fila_".$id_campo."_$nueva_fila","innerHTML","$listado_campos"); return $respuesta; } $xajax->registerFunction("campo_tabla_fila"); function formulario_campos_render($id_campo,$id_form,$control,$item,$id_dato,$ubicacion){ $cols =""; $style=""; $campo_multiple=""; $render="";$value=""; $boton=""; $script=""; //if($control ==="") {$control="vacio";}else {$control=$control;} if($id_form !="") { $w_form = " AND form_contenido_campos.id_form = '$id_form' "; } else{ $w_form =""; } $consulta =" SELECT * FROM form_contenido_campos,form_campos, form_tipo_campo WHERE form_contenido_campos.id_campo = '$id_campo' $w_form AND form_contenido_campos.id_campo = form_campos.id AND form_tipo_campo.id_tipo_campo = form_campos.campo_tipo "; $link=Conectarse(); mysqli_set_charset($link, "utf8"); $sql=mysqli_query($link,$consulta); if (mysqli_num_rows($sql)!='0'){ if($id_dato !='') { if($control !="") { $value = remplacetas('form_datos','id',$id_dato,'contenido'," control = '$control'") ; } $multiple='0'; $esta_editando =1; } else { if($control !="") { $value = remplacetas('form_datos','id_campo',$id_campo,'contenido'," control = '$control'") ; } $value[0]= str_replace('\n','<br>',$value[0]); $value[0]= stripslashes($value[0]); $multiple=mysqli_result($sql,0,"multiple"); } if($item=='') {$item ="0";}else {$item=$item;} $clase_item="clase_$id_campo"; $value_original = $value; if(@$value[0] !='') {$value= "$value[0]";}ELSE{$value='';} $campo_nombre=mysqli_result($sql,0,"campo_nombre"); $campo_descripcion=mysqli_result($sql,0,"campo_descripcion"); $campo_tipo_accion=mysqli_result($sql,0,"tipo_campo_accion"); $campo_obligatorio=mysqli_result($sql,0,"obligatorio"); if($campo_obligatorio =='1') {$obligatorio ="danger";}else{$obligatorio ="default";} if($campo_tipo_accion == 'text'){$render = "<input value='$value' type='text' id='".$id_campo."[".$item."]' name='".$id_campo."[".$item."]' class='form-control' placeholder='$campo_descripcion' > ";} elseif($campo_tipo_accion == 'date'){ $rango = remplacetas('form_campos_valores','id_form_campo',$id_campo,'campo_valor',"") ; $campos = explode(":",$rango[0]); $valores_rango = explode(";",$campos[1]); $min= $valores_rango[0]; $max= $valores_rango[1]; $render = "<input min='$min' max='$max' value='$value' type='date' id='".$id_campo."[".$item."]' name='".$id_campo."[".$item."]' class='form-control' placeholder='' > <label class='label_date'>$campo_descripcion </label> $rango[0]"; } elseif($campo_tipo_accion == 'datetime'){ $rango = remplacetas('form_campos_valores','id_form_campo',$id_campo,'campo_valor',"") ; $campos = explode(":",$rango[0]); $valores_rango = explode(";",$campos[1]); $min= $valores_rango[0]; $max= $valores_rango[1]; $render = "<input min='$min' max='$max' value='$value' type='datetime-local' id='".$id_campo."[".$item."]' name='".$id_campo."[".$item."]' class='form-control' placeholder='' > <label class='label_date'>$campo_descripcion </label> $rango[0]"; } elseif($campo_tipo_accion == 'rango'){ $rango = rango("form_campos_valores","campo_valor","id_form_campo","$id_campo","$value","".$id_campo."[".$item."]",""); $render = "$rango <small>$campo_descripcion</small> ";} elseif($campo_tipo_accion == 'mapa'){ $lat=""; $lon=""; $zoom=""; if($value !=""){ $campos = explode(" ",$value); $lat = $campos[0]; $lon = $campos[1]; $zoom = $campos[2]; if($lat =="") { $localizacion = remplacetas('form_campos_valores','id_form_campo',$id_campo,'campo_valor',"") ; //$render= $localizacion[0]; $campos = explode(" ",$localizacion[0]); $lat = $campos[0]; $lon = $campos[1]; $zoom = $campos[2]; } $exif="&exif"; } if($zoom =="") { $zoom="15";} $render .= " <div style='position:relative'> <div class='input-group'> <input placeholder='Ejemplo: El libano, tolima, colombia' type='text' class='form-control' id='geocoder_".$id_campo."[".$item."]'> <span class='input-group-btn'> <div class='btn btn-default' onclick=\"xajax_geocoder((document.getElementById('geocoder_".$id_campo."[".$item."]').value),'".$id_campo."[".$item."]'); \" ><i class='glyphicon glyphicon-search'></i></div> </span> </div> <div id='muestra_geocoder' style='position:absolute; max-height: 300px; width: 90%; overflow-y:auto; '></div> </div> <iframe id='mapita' src='./milfs/mapa.php?lat=$lat&lon=$lon&zoom=$zoom&id=".$id_campo."[".$item."]$exif' width='100%' height='300px'></iframe> <input value='$value' type='text' id='".$id_campo."[".$item."]' name='".$id_campo."[".$item."]' class='form-control' placeholder='coordenadas' readonly > "; //<iframe id='mapita' src='$_SESSION[site]milfs/mapa.php?lat=$lat&lon=$lon&zoom=$zoom&id=".$id_campo."[".$item."]$exif' width='100%' height='300px'></iframe> $cols='12'; } elseif($campo_tipo_accion == 'email'){$render = " <input value='$value' type='email' id='".$id_campo."[".$item."]' name='".$id_campo."[".$item."]' class='form-control' placeholder='$campo_descripcion' > <code>Escriba un email válido</code> ";} elseif($campo_tipo_accion == 'envio'){$render = " <input value='$value' type='email' id='".$id_campo."[".$item."]' name='".$id_campo."[".$item."]' class='form-control' placeholder='$campo_descripcion' > <code>Se enviará un email </code>";} elseif($campo_tipo_accion == 'textarea'){ $render = " <textarea class=' form-control' cols='50' rows='8' id='".$id_campo."[".$item."]' name='".$id_campo."[".$item."]' placeholder='$campo_descripcion' >$value</textarea> "; $cols='12'; } //$subir_imagen = subir_imagen(''); elseif($campo_tipo_accion == 'imagen'){ // $style ="display:hidden"; // $gps = leer_exif($file); //$render= "<input value='$value' type='hidden' id='".$id_campo."[".$item."]' name='".$id_campo."[".$item."]' class='form-control' placeholder='$campo_descripcion' > "; //subir_imagen('',$id_campo[$item]); $render=subidor_generico("$id_campo","$item","$id_form","$value","$ubicacion"); $cols='12'; } elseif($campo_tipo_accion == 'adjunto'){ $render=subidor_generico("$id_campo","$item","$id_form","$value","$ubicacion"); $cols='12'; } elseif($campo_tipo_accion == 'html'){ $render = " <div href='#' id='edit' class='btn btn-default btn-xs' onclick=\"edit()\">Editor HTML</div> <!-- <div href='#' id='edit' class='btn btn-default btn-xs' onclick=\"save_$clase_item()\">Cerrar</div> --> <textarea class='wysiwyg form-control $clase_item ' form-control ' cols='50' rows='5' id='".$id_campo."[".$item."]' name='".$id_campo."[".$item."]' placeholder='$campo_descripcion' >$value</textarea> <script type='text/javascript'> /* //// wysiwyg var edit_$clase_item = function() { $('.$clase_item').summernote({height: 250, codemirror: { theme: 'default' }}); }; var save_$clase_item = function() { var makrup = $('.$clase_item').summernote('code'); $('.$clase_item').summernote('destroy'); }; */ /* $(document).ready(function() { $('.$clase_item').summernote(); }); */ </script> "; $cols='12'; /*$respuesta = new xajaxResponse('utf-8'); $respuesta->addscript("$(document).ready(function() { $('.$clase_item').summernote(); });"); */ } elseif($campo_tipo_accion == 'limit'){ $limite = limite("".$id_campo."[".$item."]",'','limite'); $rows = ceil($limite / 50 )+1; if ($limite > 50){ $cols='12'; $dibujar_campo ="<textarea class='form-control ' onkeyup= \"xajax_limite('".$id_campo."[".$item."]',(this.value),'');\" cols='50' rows='$rows' id='".$id_campo."[".$item."]' name='".$id_campo."[".$item."]' placeholder='$campo_descripcion' >$value</textarea>"; } else{ $cols='6'; $size= $limite."em"; $dibujar_campo =" <input style ='width :$size !important;' size='$limite' maxlength='$limite' class='form-control ' type='text' onkeyup= \"xajax_limite('".$id_campo."[".$item."]',(this.value),'');\" id='".$id_campo."[".$item."]' name='".$id_campo."[".$item."]' placeholder='$campo_descripcion' value='$value'>";} $render = "$limite / <span id='aviso_".$id_campo."[".$item."]' class='alert-info'></span> $dibujar_campo "; } elseif($campo_tipo_accion == 'select'){ //$select = select('form_campos_valores','campo_valor','campo_valor','',"id_form_campo = $id_campo",$id_campo."[".$item."]"); //select_edit($id_campo,$form_id,$valor,$name,$control) $select = select_edit($id_campo,$id_form,$value,$id_campo."[".$item."]",$control); $render = "$select<small>$campo_descripcion</small> "; $cols='6'; } elseif($campo_tipo_accion == 'radio'){ $select = radio_edit($id_campo,$id_form,$value,$id_campo."[".$item."]",$control); $render = "$select <small>$campo_descripcion</small> "; $cols='6'; } elseif($campo_tipo_accion == 'calc'){ $regex = '(\[([^]]+)\])i'; $sustitucion = "parseFloat(document.getElementById('$1[0]').value)"; $campos_valores = remplacetas('form_campos_valores','id_form_campo',$id_campo,'campo_valor',"") ; preg_match("$regex", $campos_valores[0], $matches); $remplace = preg_replace($regex,$sustitucion,$campos_valores[0]); $remplace= "( $remplace )"; //$campos = print_r($matches,true); $render = " <div class='input-group' > <input title = '' type='text' value='$value' id='".$id_campo."[".$item."]' name='".$id_campo."[".$item."]' class='form-control' placeholder='$campos_valores[0]' readonly> <span class='input-group-btn'> <div class='btn btn-warning' onclick=\"javascript: document.getElementById('".$id_campo."[".$item."]').value= eval($remplace); \">Calcular </div> </span> </div> "; $cols='12'; } elseif($campo_tipo_accion == 'table'){ //radio_agrupado_linea($id_campo,$form_id,$valor,$name,$control) $campos_valores = remplacetas('form_campos_valores','id_form_campo',$id_campo,'campo_valor',"") ; $mensaje = remplacetas('form_campos','id',$id_campo,'campo_descripcion',"") ; $titulos = explode(";",$campos_valores[0]); for($i=0;$i<count($titulos);$i++) $listado_titulos .= "<th class='text-center'>$titulos[$i]</th>"; $fila="1"; //for($i=0;$i<count($titulos);$i++) $listado_campos .= "<td><textarea name='$id_campo"."[0][$titulos[$i]][$fila]' id='$id_campo"."[0][$titulos[$i]][$fila]' type='text' class='form-control'></textarea></td>";// //$listado_campos ="<tr id='fila_".$id_campo."_$fila' ><td>$fila</td>$listado_campos</tr>"; $valores = stripcslashes($value); $valores_array= json_decode($valores,true); $listado_campos = campo_tabla_fila("$id_campo","0",$valores_array); //$priti= print_r($valores_array,true); if(is_array($valores_array)){ $fila = count($valores_array[$id_campo][0]); } else{ $fila='1';} $render = " <div style='width:100%; overflow-x:scroll '> <div class='table-responsive' > <table class='table table-condensed table-bordered' id='tabla_$id_campo'> <legend>$mensaje[0]</legend> <thead> <tr><td>#</td>$listado_titulos</tr> </thead> $listado_campos </table> <div id='nueva_fila_$id_campo'><a onclick=\"xajax_campo_tabla_fila('$id_campo','$fila',''); \" class='btn btn-link pull-right'>[+] Agregar fila</a></div> </div> </div>"; $cols='12'; } elseif($campo_tipo_accion == 'radio_agrupado_campos'){ //radio_agrupado_linea($id_campo,$form_id,$valor,$name,$control) $campos_valores = remplacetas('form_campos_valores','id_form_campo',$id_campo,'campo_valor',"") ; $mensaje = remplacetas('form_campos','id',$id_campo,'campo_descripcion',"") ; $campos = explode(":",$campos_valores[0]); $titulos = explode(";",$campos[0]); $campos_incluidos = explode(";",$campos[1]); for($i=0;$i<count($titulos);$i++) $listado_titulos .= "<th>$titulos[$i]</th>"; for($i=0;$i<count($campos_incluidos);$i++) $listado_campos .= "".radio_agrupado_linea("$campos_incluidos[$i]",$id_form,$value,$campos_incluidos[$i]."[".$item."]",$control);//"<tr><td>$campos_incluidos[$i]</td></tr>"; //$select = radio_agrupado_linea($id_campo,$id_form,$value,$id_campo."[".$item."]",$control); $render = " <div style='width:100%; overflow-x:scroll '> <div class='table-responsive' > <table class='table ' > <legend>$mensaje[0]</legend> <tr><td></td> $listado_titulos </tr> $listado_campos </table> </div> </div>"; $cols='12'; } elseif($campo_tipo_accion == 'radio_agrupado_linea'){ //$select = select('form_campos_valores','campo_valor','campo_valor','',"id_form_campo = $id_campo",$id_campo."[".$item."]"); $select = radio_agrupado_linea($id_campo,$id_form,$value,$id_campo."[".$item."]",$control); $render = "<table class='table table-condensed table-striped table-hover' >$select </table> "; $cols='12'; } 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,""); $render = "$select <small>$campo_descripcion</small>"; $cols='12'; } 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'; } 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>"; $cols='12'; } elseif($campo_tipo_accion == 'buscador'){ $select = buscador_campo($id_campo,$id_form,$value,$id_campo."[".$item."]",$control,""); $render = "$select <small>$campo_descripcion</small> "; $cols='12'; } elseif($campo_tipo_accion == 'base'){ $select = buscador_base($id_campo,$id_form,$value,$id_campo."[".$item."]",$control,""); $render = "$select ";} elseif($campo_tipo_accion == 'vinculado'){ $vinculado = remplacetas('form_campos_valores','id_form_campo',$id_campo,'campo_valor',"") ; $select = formulario_areas('',$vinculado[0],'campos','','','',''); $render = " <!-- vinculado --> $select <!-- fin vinculado --> "; $cols='12'; } elseif($campo_tipo_accion == 'firma'){ $render = " <input type='hidden' id='".$id_campo."[".$item."]' name='".$id_campo."[".$item."]' > <iframe width='100%' height='400px' src='../librerias/firma/modal.php?campo=$id_campo&item=$item' frameborder='0' allowFullScreen ></iframe> "; $cols='12'; } elseif($campo_tipo_accion == 'number'){ $rango = remplacetas('form_campos_valores','id_form_campo',$id_campo,'campo_valor',"") ; $campos = explode(":",$rango[0]); $valores_rango = explode(";",$campos[0]); $min= $valores_rango[0]; $max= $valores_rango[1]; $pasos= @$valores_rango[2]; $aviso_rango=""; $aviso_pasos=""; if( $rango[0] !=""){ $onchange=" onkeyup= \"xajax_validar_rango((this.value),'$min','$max','$pasos','".$id_campo."[".$item."]');\" onchange= \"xajax_validar_rango((this.value),'$min','$max','$pasos','".$id_campo."[".$item."]');\" "; $aviso_rango =" Mínimo: $min Máximo: $max"; if($pasos !=""){ $aviso_pasos ="Pasos: $pasos";} }else{ $onchange=""; } $render = "<span id='aviso_".$id_campo."[".$item."]' class='alert-info'></span> <input $onchange min='$min' max='$max' step='$pasos' value='$value' type='number' id='".$id_campo."[".$item."]' name='".$id_campo."[".$item."]' class=' has-warning form-control' placeholder='$campo_descripcion' > <code>(solo números)</code>$aviso_rango $aviso_pasos"; $cols='6'; } elseif($campo_tipo_accion == 'password'){ if( $control != "" or $control ==="vacio") { $render="";$label=""; $campo_tipo_accion="oculto"; }else { $render = " <div class='row'> <div class='col-md-6'> <div class='input-group' id= '".$id_campo."[".$item."]_grupo'> <span class='input-group-addon'>$campo_nombre</span> <input class=' form-control' autocomplete='off' value='' type='password' id='".$id_campo."[".$item."]' name='".$id_campo."[".$item."]' placeholder='$campo_descripcion' > </div> </div> <div class='col-md-6 '> <div class='input-group' id= '".$id_campo."_control[".$item."]_grupo'> <span class='input-group-addon'>Confirmar</span> <input class=' form-control' onchange= \"xajax_confirma_campo((document.getElementById('".$id_campo."[".$item."]').value),(document.getElementById('".$id_campo."_control[".$item."]').value),'".$id_campo."[".$item."]','".$id_campo."_control[".$item."]')\" value='' type='password' id='".$id_campo."_control[".$item."]' name='".$id_campo."_control[".$item."]' placeholder='$campo_descripcion' > </div> </div> </div> "; } //else {} $cols='12'; } elseif($campo_tipo_accion == 'unico'){ $render ="<input onkeyup= \"xajax_revisar_campo_unico('".$id_campo."[".$item."]','$id_campo','$id_form',(this.value)) \" value='$value' type='text' id='".$id_campo."[".$item."]' name='".$id_campo."[".$item."]' class='form-control' placeholder='$campo_descripcion' > <div id='div_".$id_campo."[".$item."]'></div> "; } else{$render = "<input value='$value' type='text' id='".$id_campo."[".$item."]' name='".$id_campo."[".$item."]' class='form-control' placeholder='$campo_descripcion' > ";} if($multiple =='1'){ if ($item=='0'){ $boton= " <div class='btn btn-primary btn-link' onclick=\"xajax_campo_multiple('$id_campo','$id_form','$control','$item') \" > <i class='glyphicon glyphicon-plus-circle'></i> Agregar campo </div>";}else{ $boton=""; } /* $campo_multiple = " <div class='col-md-12' id='id_campo_$id_campo"."_X".$item."'> </div> ";*/ } if($item == 0) { $label = "<label class='label_formulario' for='$id_campo"."_".$item."' title='$id_campo' > <span class='text-$obligatorio'>$campo_nombre</span> </label>";} else {$label = "<label class=' label_formulario sr-only' for='$id_campo"."_".$item."' >$campo_nombre $campo_obligatorio</label>";} ///// CAMPOS QUE NO SE MOSTRARAN // if($campo_tipo_accion == 'imagen'){ $label=""; $campo_descripcion=""; } if($cols =="") {$cols = "6";} if($campo_descripcion !=""){ $documentar= documentar("$campo_nombre","$campo_descripcion","$id_campo"); }else{ $documentar="";} $input = " <div class='col-md-$cols' style='$style'> <div class='form-group ' id='input_".$id_campo."[".$item."]' > $label <div class='col-md-12' data-html='true' data-toggle='tooltip' data-placement='top' title='' > $documentar $render <small></small> </div> </div> </div> $campo_multiple <div class='' id='multiple_id_campo_$id_campo"."_".$item."'> <div id='boton_$id_campo'>$boton</div> </div> "; ///campos que no se muestran en el formulario if($campo_tipo_accion == "oculto" OR $campo_tipo_accion == "consecutivo" ) { $input= ""; }else { $input = $input;} } return $input; } function validar_rango($valor,$min,$max,$step,$id_campo){ $div_input = "input_$id_campo"; $respuesta = new xajaxResponse('utf-8'); $restante="$valor"; if($valor < $min ){ $respuesta->addAssign("aviso_$id_campo","className","alert-danger "); $respuesta->addAssign("$div_input","className","has-error "); $respuesta->addAssign("$id_campo","value",""); $restante="El valor <strong>$valor</strong> es inferior al rango"; } elseif($valor > $max ){ $respuesta->addAssign("aviso_$id_campo","className","alert-danger "); $respuesta->addAssign("$div_input","className","has-error "); $respuesta->addAssign("$id_campo","value",""); $restante="El valor <strong>$valor</strong> es superior al rango"; } else{ $respuesta->addAssign("aviso_$id_campo","className","alert-success"); $respuesta->addAssign("$div_input","className","has-success "); $restante=''; } $respuesta->addAssign("aviso_$id_campo","innerHTML","$restante"); return $respuesta; if($contenido !='') { $size= strlen($contenido); $restante = ($limite - $size); $div_input = "input_$id_campo"; if( $restante<=1) { $respuesta->addAssign("aviso_$id_campo","className","alert-danger "); $respuesta->addAssign("$div_input","className","has-error "); } elseif( $restante<=10) { $respuesta->addAssign("aviso_$id_campo","className","alert-warning "); $respuesta->addAssign("$div_input","className","has-warning "); }else{ $respuesta->addAssign("aviso_$id_campo","className","alert-succes "); $respuesta->addAssign("$div_input","className","has-success "); } $respuesta->addAssign("aviso_$id_campo","innerHTML","$restante"); return $respuesta; } $respuesta->addAssign("aviso_$id_campo","innerHTML","$limite"); return $respuesta; //return $limite; } $xajax->registerFunction("validar_rango"); function validar_email($email) { if (preg_match('/^[^0-9][a-zA-Z0-9_-]+([.][a-zA-Z0-9_-]+)*[@][a-zA-Z0-9_-]+([.][a-zA-Z0-9_]+)*[.][a-zA-Z]{2,4}$/',$email)) { return 1; }else{ return 0; } } function formulario_valor_campo_ORIGINAL($perfil,$id_campo,$valor,$id_control){ //if($id_control !=""){ $control ="AND `control` = '$id_control'";}else {$control ="";} $link=Conectarse(); mysqli_set_charset($link, "utf8"); $valor=mysqli_real_escape_string($link,$valor); if($valor !=""){ $valor ="AND md5(contenido) LIKE '$valor'";}else {$valor ="";} $consulta = "SELECT * FROM `form_datos` WHERE `form_id` = '$perfil' AND id_campo='$id_campo' $valor AND `control` = '$id_control' ORDER BY timestamp DESC limit 1"; $sql =mysqli_query($link,$consulta); $cant =mysqli_num_rows($sql); if (mysqli_num_rows($sql) == '0'){ $existe = NULL; }else { $control=mysqli_result($sql,0,"control"); $timestamp=mysqli_result($sql,0,"timestamp"); mysqli_data_seek($sql, 0); if($cant === 1) { $contenido=mysqli_result($sql,0,"contenido"); }else { while( $row = mysqli_fetch_array( $sql ) ) { $contenido .= "$row[contenido]\n "; } } $existe[]= $control; $existe[] = $timestamp; $existe[] = $consulta; $existe[] = $contenido; } return $existe; } function formulario_valor_campo($perfil,$id_campo,$valor,$id_control,$orden,$timestamp){ $contenido=""; $editable=""; $contenido_li=""; $contenido_array=array(); if ($timestamp != ""){$where_timestamp = "AND form_datos.timestamp = '$timestamp' ";}ELSE { $where_timestamp = ""; } //if($id_control !=""){ $control ="AND `control` = '$id_control'";}else {$control ="";} $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";} /// 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 ="";} $link=Conectarse(); mysqli_set_charset($link, "utf8"); $valor=mysqli_real_escape_string($link,$valor); if($valor !=""){ $valor ="AND md5(contenido) LIKE '$valor'";}else {$valor ="";} /* $consulta = "SELECT * FROM `form_datos` WHERE `form_id` = '$perfil' AND id_campo='$id_campo' $valor AND `control` = '$id_control' $campo_orden GROUP BY orden ORDER BY timestamp $limite "; */ $consulta = "SELECT *,GROUP_CONCAT(id ORDER by timestamp desc ) as identificador FROM `form_datos` WHERE form_id = '$perfil' AND id_campo ='$id_campo' $valor AND control ='$id_control' $campo_orden $where_timestamp group by orden ORDER BY orden $limite"; $sql =mysqli_query($link,$consulta); $cant =mysqli_num_rows($sql); if (mysqli_num_rows($sql) == '0'){ $existe = NULL; }else { $control=mysqli_result($sql,0,"control"); $timestamp=mysqli_result($sql,0,"timestamp"); $orden=mysqli_result($sql,0,"orden"); $id_usuario=mysqli_result($sql,0,"id_usuario"); $ip=mysqli_result($sql,0,"ip"); mysqli_data_seek($sql, 0); $md5_contenido = ""; if($cant === 1) { //$contenido=mysqli_result($sql,0,"contenido"); $identificador=mysqli_result($sql,0,"identificador"); $identificador = explode(',',$identificador); $identificador = $identificador[0]; $contenido_campo = remplacetas('form_datos','id',$identificador,'contenido',"") ; $md5_contenido = $contenido_campo[3]; //$md5_contenido = remplacetas('form_datos','id',$identificador,' md5(binary contenido) as md5_contenido ',"") ; //md5(binary contenido) as md5_contenido, //$md5_contenido = $md5_contenido[0]; $contenido = "$contenido_campo[0]"; //$contenido_array[]=$contenido_campo[0]; }else { while( $row = mysqli_fetch_array( $sql ) ) { $identificador = explode(',',$row['identificador']); $identificador = $identificador[0]; $contenido_campo = remplacetas('form_datos','id',$identificador,'contenido',"") ; $contenido .= "$contenido_campo[0]\n"; $contenido_li .= "<li>$contenido_campo[0]</li>"; $contenido_array[]=$contenido_campo[0]; $editable .= "<li>".editar_campo("form_datos","$identificador","contenido","","","","")."</li>"; } } // $contenido .="$consulta"; $existe[]= $control; $existe[] = $timestamp; $existe[] = $consulta; $existe[] = $contenido; $existe[] = $md5_contenido; $existe[] = $orden; $existe[] = $id_usuario; $existe[] = $ip; $existe[] = $contenido_li; if($cant === 1) { $existe[] = $contenido;}else{ $existe[] = json_encode($contenido_array); } $existe[] = $contenido_array; $existe[] = $editable; } return $existe; } function formulario_grabar($formulario,$accion) { $formulario_original = $formulario; $timestamp= time(); $respuesta = new xajaxResponse('utf-8'); if($accion == "api"){ $formulario_original = $formulario; $formulario = json_decode($formulario,true); //$formulario = print_r($formulario,true); //$respuesta->addAssign("resultado_triage","innerHTML","hOLA $formulario_original" ); //return $respuesta; } $debug=""; //$respuesta = new xajaxResponse('utf-8'); $datos=""; $envio=""; $ip = obtener_ip(); $graba_ip = "INET_ATON('".$ip."') "; $consulta_grabada ='0'; $control = $formulario['control']; // $form_id = $formulario['form_id']; // $tipo = $formulario['tipo']; // if(isset($formulario['metadatos'])){ $metadatos = json_decode($formulario['metadatos']); }else{ $metadatos="";} // $metadatos = json_decode($formulario['metadatos']); $campo_consecutivo = buscar_campo_tipo($formulario["form_id"],"33"); if($formulario["tipo"] !="edit"){ if($campo_consecutivo[0] != ""){ $valores = remplacetas('form_campos_valores','id_form_campo',$campo_consecutivo[0],'campo_valor',"") ; if($valores[0] =='diario'){ $timestamp = time(); $hora=date('H:i:s'); $hoy=date('Y-m-d'); $ano = date('Y'); $mes = date('m'); $dia = date('d'); $hoy_timestamp=mktime(0,0,0, $mes, $dia, $ano); $ultimo_consecutivo = remplacetas('form_datos','form_id',"$formulario[form_id]",'contenido'," id_campo = '$campo_consecutivo[0]' AND FROM_UNIXTIME(timestamp, '%Y-%m-%d') = '$hoy' ") ; }else{ $ultimo_consecutivo = remplacetas('form_datos','form_id',"$formulario[form_id]",'contenido'," id_campo = '$campo_consecutivo[0]' ") ; } $ultimo_consecutivo = $ultimo_consecutivo[0]; if ($ultimo_consecutivo !=''){ $consecutivo = ($ultimo_consecutivo +1);}else{$consecutivo='1';} $formulario["$campo_consecutivo[0]"][0] = $consecutivo ; } } // if(@$formulario['imagen'] !=''){$formulario[0][0] = $formulario['imagen'];} $consulta_form = "SELECT * FROM form_contenido_campos,form_campos WHERE form_contenido_campos.id_campo = form_campos.id AND id_form = '$form_id' "; $link=Conectarse(); mysqli_set_charset($link, "utf8"); if(isset ( $_SESSION['id_empresa'])){$id_empresa = $_SESSION['id_empresa']; }else{ $id_empresa = remplacetas('form_id','id',$formulario['form_id'],'id_empresa',"") ; $id_empresa = $id_empresa[0]; } if(isset ( $_SESSION['equipo'])){$equipo = $_SESSION['equipo']; }else { $equipo = NULL;} foreach($formulario as $c=>$v){ if (is_array($v) ){ foreach($v as $C=>$V){ $campo_tipo = remplacetas("form_campos","id",$c,"campo_tipo",""); $campo_nombre = remplacetas("form_campos","id",$c,"campo_nombre",""); if(@$campo_tipo[0] =="30" OR @$campo_tipo[0] =="24" OR @$campo_tipo[0]=="34") { $V=array(); $V[$c]=$v; $V = json_encode($V,JSON_HEX_QUOT | JSON_UNESCAPED_UNICODE); //$campo_valor = json_encode($contenido_array,JSON_HEX_QUOT | JSON_UNESCAPED_UNICODE); } if($V != '') { $datos .= "<p>$$c = \$formulario['$c'][$C]; // <b>$V</b> /$campo_tipo[0] </p>"; if($campo_tipo[0] =='12' OR $campo_tipo[0] =='13') { $validar = validar_email($V); if($validar == '0') { $respuesta->addAssign("input_".$c."[".$C."]","className"," form-group has-error "); $respuesta->addScript("document.getElementById('".$c."[".$C."]').focus(); "); $respuesta->addAlert("Se necesita un email válido"); return $respuesta; }else { $respuesta->addAssign("input_".$c."[".$C."]","className"," form-group has-success "); } } if($campo_tipo[0] =='3' ) { $validar = is_numeric($V); if(is_numeric($V) ) { $rango = remplacetas('form_campos_valores','id_form_campo',$c,'campo_valor',"") ; $campos = explode(":",$rango[0]); if($campos[0] =='rango') { $valores_rango = explode(";",$campos[1]); $min= $valores_rango[0]; $max= $valores_rango[1]; if($V < $min OR $V > $max) { $respuesta->addAssign("input_".$c."[".$C."]","className"," form-group has-error "); $respuesta->addScript("document.getElementById('".$c."[".$C."]').focus(); "); $respuesta->addAlert("El campo $campo_nombre[0] debe estar entre $min y $max"); return $respuesta; } } $respuesta->addAssign("input_".$c."[".$C."]","className"," form-group has-success "); //return $respuesta; }else{ $respuesta->addAssign("input_".$c."[".$C."]","className"," form-group has-error "); $respuesta->addScript("document.getElementById('".$c."[".$C."]').focus(); "); $respuesta->addAlert("El campo $campo_nombre[0] solo acepta valores numéricos"); return $respuesta; } } if($campo_tipo[0] =='11' ) { $rango = remplacetas('form_campos_valores','id_form_campo',$c,'campo_valor',"") ; $campos = explode(":",$rango[0]); if($campos[0] =='rango') { $valores_rango = explode(";",$campos[1]); $min= strtotime("$valores_rango[0]"); $ano = date("Y", strtotime($valores_rango[0])); $mes = date("m", strtotime($valores_rango[0])); $dia = date("d", strtotime($valores_rango[0])); if($valores_rango[1] =='0') { $max = time(); $valores_rango[1]= $max; $max_fecha = date("Y-m-d");}else{$max= strtotime("$valores_rango[1]"); $max_fecha= $valores_rango[1];} $fecha = strtotime("$V"); if($fecha < $min OR $fecha > $max) { $respuesta->addAssign("input_".$c."[".$C."]","className"," form-group has-error "); $respuesta->addScript("document.getElementById('".$c."[".$C."]').focus(); "); $respuesta->addAlert("El campo $campo_nombre[0] debe estar entre $valores_rango[0] y $max_fecha"); return $respuesta; } } $respuesta->addAssign("input_".$c."[".$C."]","className"," form-group has-success "); //return $respuesta; } if($campo_tipo[0]=='17') { $limite = limite("$c",'','limite'); $size= strlen($V); $restante = ($limite - $size); if( $restante < 0) { $respuesta->addAssign("input_".$c."[".$C."]","className"," form-group has-error "); $respuesta->addAlert("ATENCION: El campo $campo_nombre[0] no debe tener mas de $limite caractéres, sobran $restante"); $respuesta->addScript("document.getElementById('".$c."[".$C."]').focus(); "); return $respuesta; } } } else{ //busca campos vacios $campo_obligatorio = remplacetas("form_contenido_campos","id_campo",$c,"obligatorio","id_form = '$formulario[form_id]'"); if($campo_obligatorio[0] =='1'){ $respuesta->addAssign("input_".$c."[".$C."]","className"," form-group has-error "); $respuesta->addAlert("ATENCION: El campo $campo_nombre[0] es obligatorio"); $respuesta->addScript("document.getElementById('".$c."[".$C."]').focus(); "); return $respuesta; } } $md5 = md5($V); $igual = formulario_valor_campo("$form_id","$c","$md5","$formulario[control]","$C",""); $existe = formulario_valor_campo("$form_id","$c","","$formulario[control]","$C",""); //$valor_anterior .= $existe[3]."| "; //$debug .= "$existe"; $valor_original =$V; if(!is_null($existe) AND $tipo =='edit' AND $V =='') { $consulta_vacio =" INSERT INTO `form_datos` (`id`, `id_campo`,`orden`,`form_id`, `id_usuario`, `contenido`, `timestamp`, `control`, ip , id_empresa, equipo,proceso) VALUES (NULL, '$c','$C', '$formulario[form_id]', '$_SESSION[id]', '', UNIX_TIMESTAMP(), '$formulario[control]',$graba_ip,'$id_empresa','$equipo','$formulario[proceso]');"; $sql=mysqli_query($link,$consulta_vacio); if($sql) { $consulta_grabada ='1'; } } if(is_null($igual) ){$repetido = 0;}else{ $repetido = 1; } //$campo_tipo_general = remplacetas("form_campos","id",$campo_consecutivo[0],"campo_tipo",""); if(($V !='' ) && (is_numeric($c)) AND $repetido !=1 ) { $V = mysqli_real_escape_string($link,$V); $campo_tipo = remplacetas("form_campos","id",$c,"campo_tipo",""); $campo_nombre = remplacetas("form_campos","id",$c,"campo_nombre",""); if(@$campo_tipo[0] =="30" OR @$campo_tipo[0] =="24" OR @$campo_tipo[0] =="34") { $V=$V;}else{$V = htmlentities($V);} ///si el campo es tipo password if(@$campo_tipo[0] =="18") { $V = md5("$V"); } else{ $V=mysqli_real_escape_string($link,$V); } $consulta =" INSERT INTO `form_datos` (`id`, `id_campo`,`orden`,`form_id`, `id_usuario`, `contenido`, `timestamp`, `control`, ip , id_empresa, equipo,proceso) VALUES (NULL, '$c','$C', '$formulario[form_id]', '".@$_SESSION['id']."', '$V', '$timestamp', '$formulario[control]',$graba_ip,'$id_empresa','$equipo','$formulario[proceso]');"; $json_datos[] = array($c, array("nombre_campo",$campo_nombre[0]), array("contenido",$V),array("orden",$C)); $sql=mysqli_query($link,$consulta); $debug .= "$consulta = $sql ,"; if($sql) { $consulta_grabada ='1'; } } } ///fin del array }///fin del array primario else { if($v !='') { } } } // } // } //$debug .= " $link "; //$respuesta->addAssign("pie_modal","innerHTML","$debug"); if($consulta_grabada =='1') { if(isset($formulario['clase']) and $formulario['clase'] !=""){ parametrizacion_linea('form_id',"$formulario[form_id]",'clase',"$formulario[clase]",'mensaje_$control','',"$formulario[control]"); //parametrizacion_linea('form_id','$id','clase','green','mensaje_$row[control]','','$row[control]'); } if( is_array($metadatos) ){ $x= $metadatos[1][1]; $y= $metadatos[2][1]; $z= $metadatos[3][1]; $autor= $metadatos[4][1]; $posicion = parametrizacion_linea('form_id',"$formulario[form_id]",'posicion',"$x-$y-$z",'mensaje_$control','',"$formulario[control]"); $metadatos_iniciales = parametrizacion_linea('form_id',"$formulario[form_id]",'metadatos_iniciales',"$x-$y-$z-$autor",'mensaje_$control','',"$formulario[control]"); $autor = parametrizacion_linea('form_id',"$formulario[form_id]",'autor',"$autor",'mensaje_$control','',"$formulario[control]"); } if(@$formulario['continuar']=='1') { // xajax_formulario_embebido_ajax($form[0],'$identificador','edit') //$respuesta->addscript("$('#muestraInfo').modal('hide')"); //$respuesta->addscript("$('#muestraInfo').modal('toggle')"); $respuesta->addscript("$('#muestraInfo').removeClass('fade').modal('hide')"); $respuesta->addscript("xajax_formulario_embebido_ajax('','$formulario[form_id]','$formulario[control]','edit') "); return $respuesta; } if($tipo == "embebidoX" ) { $exito =" <div class='alert alert-success'><h2><i class='glyphicon glyphicon-check-square-o'></i> $formulario[mensaje] </h2> </div>"; $mail = '1'; } elseif($tipo == "funcion" ){ return "grabado"; } elseif($tipo == "solocampos" ){ $exito =" <div class='alert alert-success'><h2>ok </h2> </div>"; $mail='0'; } else{ $campo_envio = buscar_campo_tipo($formulario['form_id'],"13"); if($campo_envio[0] != "") { $envio = email_contenido("$formulario[form_id]","$formulario[control]","$campo_envio[0]",''); } if($tipo = "embebido") { $otro_formulario =" <a href ='' class='btn btn-block btn-success'> Llenar otro formulario </a> "; }else { $otro_formulario = " <a href ='f$formulario[form_id]' class='btn btn-block btn-success'> Llenar otro formulario </a> "; } $json_encabezado = array( array("form_id",$formulario['form_id']),array("usuario","$_SESSION[id]"),array("timestamp",time()),array("empresa","$id_empresa"),array("ip","$ip"),array("equipo","$equipo")); $json_datos= array($formulario["control"],array($json_encabezado,array("datos",$json_datos) )); $mostrar_json = json_encode($json_datos,JSON_PRETTY_PRINT); //formulario_imprimir($id,$control,$tipo,$timestamp) $impresion = formulario_imprimir("","$formulario[control]","preview","$timestamp"); $mensaje_agradecimiento = remplacetas('form_parametrizacion','campo',"$formulario[form_id]",'descripcion'," tabla='form_id' and opcion = 'mensaje_envio'") ; //$impresion = mostrar_identificador($formulario['control']); $exito =" <div> $mensaje_agradecimiento[0] </div> <!-- use plantilla:preview --> $impresion <!-- use plantilla:preview --> <div class='alert alert-success'><h2><i class='glyphicon glyphicon-check-square-o'></i> Gracias por aportar $formulario[form_nombre] </h2> <div class='row'> <div class='col-xs-6'> $otro_formulario </div> <div class='col-xs-6'> $envio </div> </div> </div> "; // $mail ='1'; } //if($mail =='1') { //$propietario = remplacetas('form_id','id',$formulario[form_id],'propietario',"") ; //$propietario = remplacetas('usuarios','id',$propietario[0],'email',"") ; $email_envio = remplacetas('form_parametrizacion','campo',"$formulario[form_id]",'descripcion'," tabla='form_id' and opcion = 'email'") ; if($email_envio[0] !="") { $impresion = formulario_imprimir("","$formulario[control]","preview"); $id_empresa = remplacetas('form_id','id',$formulario[form_id],'id_empresa',"") ; $id_empresa = $id_empresa[0]; $direccion = remplacetas("empresa","id",$id_empresa,"direccion",""); $telefono = remplacetas("empresa","id",$id_empresa,"telefono",""); $web = remplacetas("empresa","id",$id_empresa,"web",""); //// siempre se enviara el email desde el mail parametrizado en la empresa 1 //$email = remplacetas("empresa","id","1","email",""); $email = remplacetas("empresa","id","1","email",""); $reply = remplacetas("empresa","id","$id_empresa","email",""); $imagen = remplacetas("empresa","id",$id_empresa,"imagen",""); $razon_social = remplacetas("empresa","id",$id_empresa,"razon_social",""); $slogan = remplacetas("empresa","id",$id_empresa,"slogan",""); $nombre_formulario = remplacetas("form_id","id",$formulario[form_id],"nombre",""); $headers = "MIME-Version: 1.0\r\n"; $headers .= "Content-type: text/html; charset=iso-8859-1\r\n"; $headers .= "From: $razon_social[0] <$email[0]>\r\n"; $headers .= "Reply-To: $razon_social[0] <$reply[0]>\r\n"; $headers .= "Return-path: $email[0]\r\n"; $headers .= "Cc: $email_envio[0]" . "\r\n"; $asunto= "$nombre_formulario[0]"; $cuerpo =" $mensaje_agradecimiento[0] $impresion </p>Se ha completado el formulario <b>$nombre_formulario[0]</b></p> <p>Puede revisar los datos en <a href='$_SESSION[site]I$formulario[control]'>$_SESSION[site]I$formulario[control]</a></p> <p> <strong>Descargo de responsabilidades</strong> Esta herramienta es creada y proporcionada por Tupale.co, como portal para el activismo de datos no nos hacemos responsables por el uso de la herramienta y cuando utilizas esta herramienta para enviar una carta firmas la petición con tu nombre personal, de esta forma es responsabilidad de cada persona que diligencie el formulario así como los comentarios escritos y los datos personales, por motivos de seguridad almacenamos temporalmente algunos metadatos como tu dirección IP y la hora de diligenciamiento de la carta, los demás datos personales son aquellos pedidos en el formulario que se encuentran protegidos por las politicas que puedes leer a continuación: <a href='milfs/?psi' target='_psi'> Políticas de privacidad y protección de datos.</a> </p>"; if(mail("$email[0]","$asunto","$cuerpo","$headers")){ $exito .=""; }else {$exito .="error enviando correo";} //$exito .= "$email[0] $headers "; } /// } if(isset($formulario['tipo_form'] ) AND $formulario['tipo_form'] =='mini'){ $respuesta -> addScript("xajax_limpia_div('nueva_nota_$formulario[control]')"); $respuesta->addScript("make_draggable($('.note'));"); return $respuesta; } $respuesta->addAssign("div_$control","innerHTML","$exito "); //$respuesta->addAlert("La informacion se grabó correctamente"); return $respuesta; }else{ $datos = print_r($formulario,true); $mensaje =" <div class='alert alert-success text-center'><h1><i class='glyphicon glyphicon-smile-o'></i><small> Todo bien pero al parecer no se modificaron registros</small>$formulario[control] // $formulario[tipo] //</h1></div>"; $respuesta->addAssign("div_$control","innerHTML","$mensaje"); } //$respuesta->addAssign("respuesta_$control","innerHTML","$resultado"); return $respuesta; } $xajax->registerFunction("formulario_grabar"); function mysql_seguridad($inp) { if(is_array($inp)) return array_map(__METHOD__, $inp); if(!empty($inp) && is_string($inp)) { return str_replace(array('\\', "\0", "'", '"', "\x1a"), array('\\\\', '\\0', "\\*", "\\*", '\\Z'), $inp); } return $inp; } function formulario_campos_render_multiple($id_campo,$id_form,$control,$item,$ubicacion) { $consulta = "SELECT *,GROUP_CONCAT(id ORDER by timestamp desc ) as identificador FROM `form_datos` WHERE form_id = '$id_form' AND id_campo ='$id_campo' AND control ='$control' group by orden ORDER BY orden asc"; $link=Conectarse(); //$resultado .= "$consulta"; mysqli_set_charset($link, "utf8"); $sql =mysqli_query($link,$consulta); if (mysqli_num_rows($sql)!='0' ){ mysqli_data_seek($sql, 0); while( $row = mysqli_fetch_array( $sql ) ) { $identificador = explode(',',$row[identificador]); $identificador = $identificador[0]; //$identificador = $row[identificador]; /// banear para que el campo 24 no se comporte como multiple en la edicion # $resultado .= $identificador; $resultado .= formulario_campos_render($row['id_campo'],$id_form,$control,$row['orden'],$identificador,$ubicacion); $item = $item + 1; } $boton= "<div style='' class='btn btn-link' onclick=\"xajax_campo_multiple('$id_campo','$id_form','','".($item+1)."') \"> <i class='glyphicon glyphicon-plus-circle'></i> Agregar campo </div>"; $resultado .= " <div class='' id='multiple_id_campo_$id_campo"."_".($item+1)."'> $boton </div>"; return $resultado; } $resultado .= formulario_campos_render($id_campo,$id_form,'',$item,'',$ubicacion).""; return $resultado; } function formulario_modal($id,$form_respuesta,$control,$tipo) { $respuesta = new xajaxResponse('utf-8'); $solo_campos =""; $subir_imagen =""; if(isset($_SESSION['permiso_identificador'])) { $permiso_identificador = $_SESSION['permiso_identificador'] ; $salir= "<div class='btn btn-danger pull-right btn-small' onclick=\"xajax_autoriza_formulario_mostrar('','',''); \">Salir <i class='glyphicon glyphicon-log-out'></i></div>"; } else{ $permiso_identificador = ""; $salir="";} $formulario_respuesta = formulario_respuesta("$id","$control"); $id_empresa = remplacetas('form_id','id',$id,'id_empresa',"",'') ; $id_empresa = $id_empresa[0]; $encabezado = empresa_datos("$id_empresa",'encabezado'); $pie = "$formulario_respuesta"; $pie .= empresa_datos("$id_empresa",'pie'); $formulario_descripcion = remplacetas('form_id','id',$id,'descripcion','') ; $formulario_nombre = remplacetas('form_id','id',$id,'nombre','') ; $cabecera ="<h3>".$formulario_nombre['0']."</h3><p>".$formulario_descripcion['0']."</p> "; $nuevo_formulario = "<a href ='f$id'>Llenar otro formulario </a>"; if($control !='' AND $tipo =='' ) { $impresion = formulario_imprimir("$id","$control",""); $formulario_nombre = remplacetas('form_id','id',$id,'nombre','') ; $muestra_form = "<div class='container-fluid' id='contenedor_datos' >$impresion</div>"; $respuesta->addAssign("muestra_form","innerHTML","$muestra_form"); $respuesta->addAssign("titulo_modal","innerHTML","$cabecera"); $respuesta->addAssign("pie_modal","innerHTML","$pie"); $respuesta->addscript("$('#muestraInfo').modal('toggle')"); return $respuesta; } $modificable = remplacetas('form_id','id',$id,'modificable','') ; if($modificable[0] != "1" and (!isset ( $_SESSION[id]) )) { $resultado ="<div class='aler alert-danger'><h1>Acceso restringido</h1> No se puede consultar los datos.</div>"; $respuesta->addAssign("muestra_form","innerHTML","$resultado"); $respuesta->addAssign("titulo_modal","innerHTML","$cabecera"); $respuesta->addAssign("pie_modal","innerHTML","$pie"); $respuesta->addscript("$('#muestraInfo').modal('toggle')"); return $respuesta; } $consulta = " SELECT * FROM form_id, form_contenido_campos WHERE form_id.id = form_contenido_campos.id_form AND form_id.id = '$id' ORDER BY form_contenido_campos.orden ASC "; $link=Conectarse(); mysqli_set_charset($link, "utf8"); $sql=mysqli_query($link,$consulta); if (mysqli_num_rows($sql)!='0'){ if($respuesta !='' AND $control !=''){$control =$control;} else{$control = md5(rand(1,99999999).microtime());} $descripcion=mysqli_result($sql,0,"descripcion"); $nombre=mysqli_result($sql,0,"nombre"); $id_empresa=mysqli_result($sql,0,"id_empresa"); $encabezado = empresa_datos("$id_empresa",'encabezado'); $pie = empresa_datos("$id_empresa",'pie'); $cabecera = " $salir <div class='alert alert-info' > <div class='row'> <div class='col-md-2 hidden-xs'> <img class='img img-responsive' src='https://qwerty.co/qr/?d=$_SESSION[url]?form=$id'> </div> <div class='col-md-10 col-xs-12'> <h1>$nombre <br><small>$descripcion</small></h1> <div class='input-group'> <span class='input-group-addon'><a href='?form=$id'><i class='glyphicon glyphicon-share-square-o'></i></a></span> <input onclick=\"this.select(); \" type='text' class='form-control' placeholder='$_SESSION[url]?form=$id' value='$_SESSION[url]?form=$id'> </div> </div> </div> </div>"; $campo_imagen = buscar_campo_tipo($id,"15"); @$campo_imagen_nombre = $campo_imagen[1]; @$campo_imagen = $campo_imagen[0]; /*if (@$campo_imagen[0] != "") { $subir_imagen = subir_imagen("$id","$campo_imagen"."[0]"); <div class=''> <div class='form-group' id='input_".$campo_imagen."[0]' > <label for='UploadFile'>$campo_imagen_nombre</label> <div class='col-md-12'> $subir_imagen </div> </div> </div> }*/ $muestra_form = " <div id ='div_$control' class='' > <!-- Antiguo subir imagen --> <form autocomplete='off' role='form' id='$control' autocomplete='off' name='$control' class='form-horizontal' > <input type='hidden' id='control' name='control' value='$control'> <input type='hidden' id= 'form_id' name= 'form_id' value='$id' > <input type='hidden' id= 'form_nombre' name= 'form_nombre' value='$nombre' > <input type='hidden' id= 'tipo' name= 'tipo' value='$tipo' > <div class='row'> "; if($tipo=="edit") { //if(null === @$_SESSION['id'] AND $permiso_identificador != $control) { if($_SESSION['id_empresa'] !== $id_empresa AND $permiso_identificador != $control) { $password = buscar_campo_tipo($id,"18"); $aviso = "<div class='alert alert-warning text-center '><h1><i class='glyphicon glyphicon-exclamation-triangle'></i> ATENCIÓN<br><small>No está autorizado</small></h1></div>"; $seguridad =" <div class='input-group has-error ' id='div_seguridad_$control'> <span class='input-group-addon'> <i class='glyphicon glyphicon-key'></i> $password[1] </span> <input type='password' class='form-control' id='clave_identificador' name='clave_identificador' > <span class='input-group-btn'> <div class='btn btn-danger' onclick=\"xajax_autoriza_formulario_mostrar((document.getElementById('clave_identificador').value),'$id','$control'); \"><i class='glyphicon glyphicon-arrow-right'></i></div> </span> </div> "; $resultado =" <div class='container-fluid' style='width:450px;'> $aviso $seguridad </div> "; $respuesta->addAssign("titulo_modal","innerHTML","$cabecera"); $respuesta->addAssign("muestra_form","innerHTML","$resultado"); $pie = empresa_datos("$id_empresa",'pie'); $respuesta->addscript("$('#muestraInfo').modal('toggle')"); return $respuesta; } //// si no esta logueado nose puede editar //// $control_edit = "$control"; }else {$control_edit = "";} mysqli_data_seek($sql, 0); while( $row = mysqli_fetch_array( $sql ) ) { $tipo_campo = remplacetas("form_campos","id","$row[id_campo]","campo_tipo",""); //if($tipo_campo[0] =="24") { $row[multiple] = "1";} if($row['multiple'] ==='1' AND $tipo =='edit'){ $campos = formulario_campos_render_multiple($row['id_campo'],$id,$control_edit); }else{ $campos = formulario_campos_render($row['id_campo'],$id,$control_edit,'',''); } $muestra_form .= "$campos "; $solo_campos .= "$campos "; } $muestra_form .="<br><div class='row' id='respuesta_$control' name='respuesta_$control' ></div> <div class='row'> <div class='col-xs-6'> <div onclick=\" xajax_formulario_grabar(xajax.getFormValues('$control'),'');\" class='btn btn-block btn-success'>Grabar</div> </div> <div class='col-xs-6'> <div onclick=\" xajax_limpia_div('muestra_form');xajax_limpia_div('titulo_modal'); \" data-dismiss='modal' class='btn btn-block btn-danger'>Cancelar</div> </div> </div> "; } $muestra_form .=" </div> </form> </div>"; $muestra_form = "<div class='container'>$muestra_form</div>"; if($tipo=='campos') { return $solo_campos; } if($tipo=='embebido') { return $muestra_form; } $respuesta->addAssign("muestra_form","innerHTML","$muestra_form"); $respuesta->addAssign("titulo_modal","innerHTML","$cabecera"); $respuesta->addAssign("pie_modal","innerHTML","$pie"); $respuesta->addscript("$('#muestraInfo').modal('toggle')"); //$respuesta->addscript("$('textarea').markdown({autofocus:false,savable:false})"); //$respuesta->addscript("$(document).ready(function () { $(\"#24[0]\").cleditor(); })"); //$(document).ready(function () { $("#input").cleditor(); }); return $respuesta; } $xajax->registerFunction("formulario_modal"); function limpia_div($capa){ $respuesta = new xajaxResponse('utf-8'); $respuesta->addAssign($capa,"style.padding","0px"); $respuesta->addClear($capa,"innerHTML"); return $respuesta; }$xajax->registerFunction("limpia_div"); function contenido_ocultar($capa){ $respuesta = new xajaxResponse('utf-8'); //$respuesta->addAssign($capa,"innerHTML","$contenido"); $respuesta->addAssign("$capa","className","hidden"); return $respuesta; }$xajax->registerFunction("contenido_ocultar"); function contenido_show($capa){ $respuesta = new xajaxResponse('utf-8'); //$respuesta->addAssign($capa,"innerHTML","$contenido"); $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(); $campos = explode(",",$descripcion); $campo1 = $campos[0]; $campo2 = $campos[1]; $debug = "($tabla,$value,$descripcion,$onchange,$where)"; mysqli_set_charset($link, "utf8"); if(isset($_SESSION['id_empresa'])) {$id_empresa= $_SESSION['id_empresa'];}if($where =='AGRUPADO'){$group="GROUP BY $value ";} elseif($where != ''){$w = "AND ".$where;}else{ $w="";} $busca = array("[","]"); if( strpos( $onchange,'[') !== false ){$fila=str_replace($busca,'',$onchange);$onchange='';}; $consulta = "SELECT $value, $descripcion FROM $tabla WHERE 1 $w $group ORDER BY $campo1 "; $sql=mysqli_query($link,$consulta); if($nombre==''){$name=$tabla."_".$key;}else{$name = "$nombre";} if (mysqli_num_rows($sql)!='0'){ if($onchange !=''){$vacio ="";}else{$vacio ="<option value=''> >> Nuevo $descripcion << </option>";} $resultado=" <SELECT class='form-control' NAME='$name' id='$name' onchange=\"$onchange\" title='Seleccione $descripcion' > <option value=''>Seleccione </option> " ; while( $row = mysqli_fetch_array( $sql ) ) { if($row[$key]=="") {$resultado.="";}else{ if($row[$key] =="$valor"){$selected="selected";}else{$selected ="";} $resultado .= "<option value='$row[$key]' $selected > ".substr($row[$campo1], 0, 150 )." ".substr($row[$campo2], 0, 30 )." </option>"; } } $resultado .= "</select>"; }else{$resultado = "<div class='alert alert-warning alert_sin_resultados'><i class='glyphicon glyphicon-exclamation-triangle'></i> No hay resultados 0011</div>";} return $resultado; } function select($tabla,$value,$descripcion,$onchange,$where,$nombre,$valor){ $group =""; @$valor=$valor; @$value =$value; $link=Conectarse(); $campos = explode(",",$descripcion); @$campo1 = $campos[0]; @$campo2 = $campos[1]; //$debug = "($tabla,$value,$descripcion,$onchange,$where)"; mysqli_set_charset($link, "utf8"); if(isset($_SESSION['id_empresa'])) {$id_empresa= $_SESSION['id_empresa'];} if($where =='AGRUPADO'){$group="GROUP BY $value ";} elseif($where != ''){$w = "AND ".$where; $group ="GROUP BY $campos[0]";}else{ $w="";} $busca = array("[","]"); if( strpos( $onchange,'[') !== false ){$fila=str_replace($busca,'',$onchange);$onchange='';}; $consulta = "SELECT $value, $descripcion FROM $tabla WHERE 1 $w $group ORDER BY $campo1 "; if(isset($_REQUEST['debug'])){$debug = "$consulta";}else{$debug="";} $sql=mysqli_query($link,$consulta); if($nombre==''){$name=$tabla."_".$value;}else{$name = "$nombre";} if (mysqli_num_rows($sql)!='0'){ if($onchange !=''){$vacio ="<option value=''>Todos los valores</option>";}else{$vacio ="<option value=''> </option>";} $resultado="<SELECT class='form-control' NAME='$name' id='$name' onchange=\"$onchange\" title='Seleccione $descripcion' > <option value=''>$nombre</option>$vacio " ; while( $row = mysqli_fetch_array( $sql ) ) { if($row["$value"]=="") {$resultado.="";}else{ if($row["$value"] =="$valor"){$selected="selected";}else{$selected ="";} $mostrar_id = "[$row[$value]]"; //$valor= urlencode($row["$value"]); //$valor=$row["$value"]; $resultado .= "<option value='$row[$value]' $selected > ".substr(@$row[$campo1], 0, 150 )." ".substr(@$row[$campo2], 0, 30 )." </option>"; } } $resultado .= "</select> " ; }else{$resultado = "<SELECT class='form-control' NAME='$name' id='$name' onchange=\"$onchange\" title='Seleccione $descripcion' ><option>No hay resultados</option></select>";} return $resultado; } function select_campos_formulario($id,$nombre,$onchange,$valor){ $link=Conectarse(); $name=""; $vacio=""; mysqli_set_charset($link, "utf8"); $consulta = "SELECT form_campos.id , form_campos.campo_nombre FROM form_campos, form_contenido_campos WHERE form_contenido_campos.id_form = '$id' AND form_campos.id = form_contenido_campos.id_campo "; $sql=mysqli_query($link,$consulta); if (mysqli_num_rows($sql)!='0'){ //if($onchange !=''){$vacio ="<option value=''>Todos los valores</option>";}else{$vacio ="<option value=''> </option>";} $resultado="<SELECT class='form-control' NAME='$name' id='$name' onchange=\"$onchange\" > <option value=''>$nombre</option>$vacio <option value=''>Todos</option> " ; while( $row = mysqli_fetch_array( $sql ) ) { $resultado .= "<option value='$row[id]' > ".substr(@$row['campo_nombre'], 0, 150 )." </option>"; } $resultado .= "</select>"; }else{$resultado = "<div class='alert alert-warning alert_sin_resultados'><i class='fa fa-exclamation-triangle'></i> No hay resultados hygfj5 </div>";} return $resultado; } function select_empresa($tabla,$value,$descripcion,$onchange,$where,$nombre,$valor,$id_empresa){ $w =""; $link=Conectarse(); $campos = explode(",",$descripcion); $tablas= explode(",",$tabla); $tabla1= $tablas[0]; @$tabla2= $tablas[1]; $campo1 = $campos[0]; @$campo2 = $campos[1]; $debug = "($tabla,$value,$descripcion,$onchange,$where)"; mysqli_set_charset($link, "utf8"); if(isset($_SESSION['id_empresa'])) {$id_empresa= $_SESSION['id_empresa'];} if($where =='AGRUPADO'){$group="GROUP BY $value ";} elseif($where != ''){$w = "AND ".$where; $group="GROUP BY $value "; } else{ $w="";} $busca = array("[","]"); if( strpos( $onchange,'[') !== false ){$fila=str_replace($busca,'',$onchange);$onchange='';}; $consulta = "SELECT $value, $descripcion FROM $tabla WHERE $tabla1.id_empresa = '$id_empresa' $w $group ORDER BY $campo1 "; $sql=mysqli_query($link,$consulta); if($nombre==''){$name=$tabla."_".$value;}else{$name = "$nombre";} if (mysqli_num_rows($sql)!='0'){ if($onchange !=''){$vacio ="<option value=''>Todos los valores</option>";}else{$vacio ="<option value=''> </option>";} $resultado="<SELECT class='form-control' NAME='$name' id='$name' onchange=\"$onchange\" title='Seleccione $descripcion' > <option value=''>$nombre</option>$vacio " ; while( $row = mysqli_fetch_array( $sql ) ) { if($row[$value]=="") {$resultado.="";}else{ if($row[$value] ==="$valor"){$selected="selected";}else{$selected ="";} $mostrar_id = "[$row[$value]]"; $resultado .= "<option value='$row[$value]' $selected > ".substr(@$row[$campo1], 0, 150 )." ".substr(@$row[$campo2], 0, 30 )." $mostrar_id </option>"; } } $resultado .= "</select>"; }else{$resultado = "<div class='alert alert-warning alert_sin_resultados'><i class='glyphicon glyphicon-exclamation-triangle'></i> No hay resultados 0012</div>";} return $resultado; } function sin_acentos($cadena) { $no_permitidas= array ("á","é","í","ó","ú","Á","É","Í","Ó","Ú","ñ","À","Ã","Ì","Ò","Ù","Ù","à ","è","ì","ò","ù","ç","Ç","â","ê","î","ô","û","Â","Ê","ÃŽ","Ô","Û","ü","ö","Ö","ï","ä","«","Ò","Ã","Ä","Ë"); $permitidas= array ("a","e","i","o","u","A","E","I","O","U","n","N","A","E","I","O","U","a","e","i","o","u","c","C","a","e","i","o","u","A","E","I","O","U","u","o","O","i","a","e","U","I","A","E"); $texto = str_replace($no_permitidas, $permitidas ,$cadena); return $texto; } function select_edit($id_campo,$form_id,$valor,$name,$control){ $link=Conectarse(); mysqli_set_charset($link, "utf8"); /// otro $otro = remplacetas("form_campos_valores","id_form_campo","$id_campo","campo_valor","campo_valor = 'otro'"); $valor_otro = remplacetas("form_campos_valores","id_form_campo","$id_campo","campo_valor","campo_valor = '$valor'"); if($valor !="" and $valor_otro[0] ==""){ $valor_otro ="<option value='otro' selected>Otro: $valor</option>"; }else{ $valor_otro ="";} if($otro[0] !=""){ $onchange ="onchange= \"xajax_select_otro('$name','$valor',(this.value));\""; }else{$onchange="";} // fin otro $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'){ $resultado=" $valor_otro<SELECT $onchange class='form-control' NAME='$name' id='$name' > <option value=''>Seleccione </option> $valor_otro " ; $valor=html_entity_decode("$valor"); while( $row = mysqli_fetch_array( $sql ) ) { //$coll = collator_create( 'en_US' ); //$res = collator_compare( $coll, $row['campo_valor'], $valor ); if( $row['campo_valor'] == "$valor"){$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> <div id='div_otro_$name'></div>"; }else{$resultado = "<div class='alert alert-warning alert_sin_resultados'><i class='glyphicon glyphicon-exclamation-triangle'></i> No hay resultados 013</div>";} return $resultado; } function select_otro($id_campo,$valor,$seleccion){ $respuesta = new xajaxResponse('utf-8'); if(strtolower($seleccion) =='otro'){ $resultado =" <input type='text' id='$id_campo' name='$id_campo' value='$valor' class='form-control' placeholder='Escriba el otro valor'> "; // $respuesta->addAssign("div_otro_$id_campo","value",""); $respuesta->addAssign("div_otro_$id_campo","innerHTML","$resultado"); }else{ $respuesta->addAssign("div_otro_$id_campo","innerHTML","$seleccion "); } return $respuesta; } $xajax->registerFunction("select_otro"); function radio_agrupado_linea($id_campo,$form_id,$valor,$name,$control){ $link=Conectarse(); mysqli_set_charset($link, "utf8"); $consulta = "SELECT * FROM form_campos_valores , form_campos WHERE form_campos_valores.id_form_campo = form_campos.id AND id_form_campo ='$id_campo' "; $sql=mysqli_query($link,$consulta); $valor = remplacetas("form_datos","control","$control","contenido","id_campo ='$id_campo' "); if (mysqli_num_rows($sql)!='0'){ $nombre_linea = mysqli_result($sql,0,"campo_nombre"); $descripcion_linea = mysqli_result($sql,0,"campo_descripcion"); mysqli_data_seek($sql, 0); while( $row = mysqli_fetch_array( $sql ) ) { if($row[campo_valor] ==="$valor[0]"){$selected="checked";}else{$selected ="";} $lineas .= "<td ><input type='radio' title='$row[campo_valor]' name='$name' id='$name' value='$row[campo_valor]' $selected > <label class='radio-inline sr-only'>$row[campo_valor]</label></td> "; } $resultado .= "<tr><td><div style='width:200px;'>$nombre_linea</div></td>$lineas</tr>"; }else{$resultado = "<div class='alert alert-warning alert_sin_resultados'><i class='glyphicon glyphicon-exclamation-triangle'></i> No hay resultados 0014</div>";} return $resultado; } function radio_linea($id_campo,$form_id,$valor,$name,$control){ $link=Conectarse(); mysqli_set_charset($link, "utf8"); $consulta = "SELECT * FROM form_campos_valores , form_campos WHERE form_campos_valores.id_form_campo = form_campos.id AND 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'){ $nombre_linea = mysqli_result($sql,0,"campo_nombre"); $descripcion_linea = mysqli_result($sql,0,"campo_descripcion"); mysqli_data_seek($sql, 0); while( $row = mysqli_fetch_array( $sql ) ) { if($row[campo_valor] ==="$valor"){$selected="checked";}else{$selected ="";} $lineas .= "<td ><label class='radio-inline sr-only'>$row[campo_valor]</label> <input type='radio' title='$row[campo_valor]' name='$name' id='$name' value='$row[campo_valor]' $selected ></td> "; } $resultado .= "<tr><td><div style='width:200px;'>$nombre_linea</div></td>$lineas</tr>"; }else{$resultado = "<div class='alert alert-warning alert_sin_resultados'><i class='glyphicon glyphicon-exclamation-triangle'></i> No hay resultados 0014</div>";} return $resultado; } function radio_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'){ $resultado="" ; while( $row = mysqli_fetch_array( $sql ) ) { $valor=html_entity_decode("$valor"); if($row['campo_valor'] ==="$valor"){$selected="checked";}else{$selected ="";} $resultado .= "<div class='radio' id='radio_$row[campo_valor]' > <label> <input type='radio' name='$name' id='$name' value='$row[campo_valor]' $selected > $row[campo_valor] </label> </div>"; } $resultado .= ""; }else{$resultado = "<div class='alert alert-warning alert_sin_resultados'><i class='glyphicon glyphicon-exclamation-triangle'></i> No hay resultados 0015</div>";} 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); $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 ="";} $valor_limpio = trim($row['campo_valor']); $resultado .= " <div class='checkbox' id='check_$row[campo_valor]' > <label> <input type='checkbox' NAME='$name"."[]"."' id='$name"."[]"."'value='$valor_limpio' $selected > $valor_limpio </label> </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; } 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); $valor_actual = json_render("$valor","csv","$control"); 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; } function rango($tabla,$campo,$key,$valor,$selected,$nombre,$onchange){ $link=Conectarse(); mysqli_set_charset($link, "utf8"); $consulta = "SELECT min($campo) as min , max($campo) as max FROM $tabla WHERE $key ='$valor' "; $sql=mysqli_query($link,$consulta); if (mysqli_num_rows($sql)!='0'){ $min=mysqli_result($sql,0,"min"); $max=mysqli_result($sql,0,"max"); if($nombre==''){$name=$tabla."_".$value;}else{$name = "$nombre";} ///if($selected ==""){$selected = "$min";} $resultado="<div class='input-group'> <span class='input-group-addon'>$min</span> <input type='range' value='$selected' class='form-control' NAME='$name' id='$name' onchange=\"(document.getElementById('div_$name').innerHTML=(this.value));$onchange\" min='$min' max='$max' > <span class='input-group-addon'>$max</span><span class='input-group-addon alert-success' id= 'div_$name'>$selected</span> </div>" ; }else{$resultado = "<div class='alert alert-warning alert_sin_resultados'><i class='glyphicon glyphicon-exclamation-triangle'></i> No hay resultados 0017</div>";} return $resultado; } function limite($id_campo,$contenido,$tipo){ $link=Conectarse(); mysqli_set_charset($link, "utf8"); $consulta = "SELECT campo_valor FROM form_campos_valores WHERE id_form_campo ='$id_campo' "; $sql=mysqli_query($link,$consulta); if (mysqli_num_rows($sql)!='0'){ $limite=mysqli_result($sql,0,"campo_valor"); }else{} if($tipo =='limite') { return $limite;} $respuesta = new xajaxResponse('utf-8'); if($contenido !='') { $size= strlen($contenido); $restante = ($limite - $size); $div_input = "input_$id_campo"; if( $restante<=1) { $respuesta->addAssign("aviso_$id_campo","className","alert-danger "); $respuesta->addAssign("$div_input","className","has-error "); } elseif( $restante<=10) { $respuesta->addAssign("aviso_$id_campo","className","alert-warning "); $respuesta->addAssign("$div_input","className","has-warning "); }else{ $respuesta->addAssign("aviso_$id_campo","className","alert-succes "); $respuesta->addAssign("$div_input","className","has-success "); } $respuesta->addAssign("aviso_$id_campo","innerHTML","$restante"); return $respuesta; } $respuesta->addAssign("aviso_$id_campo","innerHTML","$limite"); return $respuesta; //return $limite; } $xajax->registerFunction("limite"); function confirma_campo($valor_1,$valor_2,$campo,$campo_confirmacion){ $respuesta = new xajaxResponse('utf-8'); $pos = strpos($campo,"email"); if($pos == "") { //// si no es un email } else {//// si es un email se revisa $email = validar_email("$valor_1"); if($email === 0 ) { $respuesta->addAssign("$campo","value",""); $respuesta->addAssign("$campo"."_grupo","className"," input-group has-error "); $respuesta->addAssign("$campo_confirmacion"."_grupo","className"," input-group has-error "); $respuesta->addAlert("El email no es valido "); $respuesta->addScript("document.getElementById('$campo').focus(); "); return $respuesta; } else{ } } if($valor_1 != $valor_2){$resultado = "Los valores NO son iguales"; $respuesta->addAlert("$resultado"); /// $respuesta->addAssign("$campo","style.color","red"); $respuesta->addAssign("$campo","value","$pos"); $respuesta->addAssign("$campo_confirmacion","value",""); $respuesta->addAssign("$campo"."_grupo","className"," input-group has-error "); $respuesta->addAssign("$campo_confirmacion"."_grupo","className"," input-group has-error "); $respuesta->addScript("document.getElementById('$campo').focus(); "); // document.getElementById('mobileno').focus(); }else{ //$respuesta->addAssign("$campo_confirmacion","style.color","green"); $respuesta->addAssign("$campo","className"," form-control "); $respuesta->addAssign("$campo_confirmacion","className"," form-control "); $respuesta->addAssign("$campo"."_grupo","className"," input-group has-success "); $respuesta->addAssign("$campo_confirmacion"."_grupo","className"," input-group has-success "); } return $respuesta; } $xajax->registerFunction("confirma_campo"); function validar_campo($valor,$campo,$tabla,$div,$id){ $valor = mysql_seguridad($valor); $respuesta = new xajaxResponse('utf-8'); $link=Conectarse(); mysqli_set_charset($link, "utf8"); $consulta="SELECT $campo FROM $tabla WHERE $campo = '$valor' LIMIT 1"; $sql =mysqli_query($link,$consulta); if (mysqli_num_rows($sql)!='0' ){ $verificacion = "atencion"; $existe=''; $respuesta->addAssign($campo,"value",""); ///$respuesta->addAlert("El valor $valor $existe existe"); $resultado = "<strong class='error'>Grrr $valor $existe existe</strong>"; $respuesta->addAssign("$id","style.backgroundColor","pink"); $respuesta->addAssign($div,"innerHTML",$resultado); return $respuesta; }else {$verificacion ="check"; $existe='NO';} $resultado = "<strong class='ok'>Ok, buen $campo !</strong>"; $respuesta->addAssign("$id","style.backgroundColor","#CBE7CB"); //$resultado .= "$valor,$campo,$tabla,$div"; $respuesta->addAssign($div,"innerHTML",$resultado); return $respuesta; } $xajax->registerFunction("validar_campo"); function comprobar_email($email,$tipo,$campo){ $email = mysql_seguridad($email); $respuesta = new xajaxResponse('utf-8'); if($tipo =='tercero') {$id_campo='tercero_email';} else{$id_campo = 'email';} if($campo !=''){ $id_campo="$campo"; } if ($email == "" AND $tipo==''){ $respuesta->addAlert("El campo email es obligatorio "); $respuesta->addAssign("$id_campo","style.backgroundColor","pink"); $respuesta->addAssign("$id_campo","value",""); return $respuesta; } $mail_correcto = 0; //compruebo unas cosas primeras if ((strlen($email) >= 6) && (substr_count($email,"@") == 1) && (substr($email,0,1) != "@") && (substr($email,strlen($email)-1,1) != "@")){ if ((!strstr($email,"'")) && (!strstr($email,"\"")) && (!strstr($email,"\\")) && (!strstr($email,"\$")) && (!strstr($email," "))) { //miro si tiene caracter . if (substr_count($email,".")>= 1){ //obtengo la terminacion del dominio $term_dom = substr(strrchr ($email, '.'),1); //compruebo que la terminación del dominio sea correcta if (strlen($term_dom)>1 && strlen($term_dom)<5 && (!strstr($term_dom,"@")) ){ //compruebo que lo de antes del dominio sea correcto $antes_dom = substr($email,0,strlen($email) - strlen($term_dom) - 1); $caracter_ult = substr($antes_dom,strlen($antes_dom)-1,1); if ($caracter_ult != "@" && $caracter_ult != "."){ $mail_correcto = 1; } } } } } if ($mail_correcto AND $tipo=='' ) { $consulta= "SELECT email FROM usuarios WHERE email = '$email' LIMIT 1 "; $link=Conectarse(); $sql=mysqli_query($link,$consulta); $revisa=mysqli_result($sql,0,"email"); if ($revisa != ''){ $respuesta->addAlert("$email: ya está registrado "); $respuesta->addAssign("email","style.color","red"); $respuesta->addAssign("email","value",""); return $respuesta; } $respuesta->addAssign("email","style.color","green");} elseif ($mail_correcto AND $tipo==='revisar' ) { $revisar = remplacetas("usuarios","email",$email,"email",""); if($revisar[0] != '') { $respuesta->addAssign("$campo","style.color","white"); $respuesta->addAssign("$id_campo","style.backgroundColor","green"); }else{ $respuesta->addAlert("$email: No existe en el sistema)"); $respuesta->addAssign("$campo","value",""); } return $respuesta; } elseif ($mail_correcto AND $tipo==='tercero' ) { $documento = remplacetas("terceros","email",$email,"documento",""); if($documento[1] =='') { /// si el tercero NO existe }else { /// si el tercero existe en el sistema $tipo_persona = remplacetas("terceros","id",$documento[1],"tipo_persona",""); if($tipo_persona[0] =='1') { $razon_social = remplacetas("terceros","id",$documento[1],"razon_social",""); $resultado .= " $razon_social[0]] Nit: $documento[0]"; } else { $primer_nombre = remplacetas("terceros","id",$documento[1],"p_nombre",""); $segundo_nombre = remplacetas("terceros","id",$documento[1],"s_nombre",""); $primer_apellido = remplacetas("terceros","id",$documento[1],"p_apellido",""); $segundo_apellido = remplacetas("terceros","id",$documento[1],"s_apellido",""); $resultado .=" \r $primer_nombre[0] $segundo_nombre[0] $primer_apellido[0] $segundo_apellido[0] \r Documento: $documento[0]"; } $respuesta->addAlert("$email: $resultado"); $respuesta->addAssign("tercero_documento","value","$documento[0]"); $respuesta->addAssign("tercero_primer_nombre","value","$primer_nombre[0]"); $respuesta->addAssign("tercero_segundo_nombre","value","$segundo_nombre[0]"); $respuesta->addAssign("tercero_primer_apellido","value","$primer_apellido[0]"); $respuesta->addAssign("tercero_segundo_apellido","value","$segundo_apellido[0]"); $respuesta->addAssign("tercero_razon_social","value","$razon_social[0]"); $respuesta->addAssign("tercero_id","value","$documento[1]"); } } else {$respuesta->addAlert("$email: no es un correo válido"); $respuesta->addAssign("$id_campo","style.backgroundColor","pink"); $respuesta->addAssign("$id_campo","value",""); } return $respuesta; } $xajax->registerFunction("comprobar_email"); function obtener_ip() { if (isset($_SERVER["HTTP_CLIENT_IP"])) { return $_SERVER["HTTP_CLIENT_IP"]; } elseif (isset($_SERVER["HTTP_X_FORWARDED_FOR"])) { return $_SERVER["HTTP_X_FORWARDED_FOR"]; } elseif (isset($_SERVER["HTTP_X_FORWARDED"])) { return $_SERVER["HTTP_X_FORWARDED"]; } elseif (isset($_SERVER["HTTP_FORWARDED_FOR"])) { return $_SERVER["HTTP_FORWARDED_FOR"]; } elseif (isset($_SERVER["HTTP_FORWARDED"])) { return $_SERVER["HTTP_FORWARDED"]; } else { return $_SERVER["REMOTE_ADDR"]; } } function milfs(){ if($_SESSION['grupo'] != "1") { $menu = "<h1 class='text-center'><a href='../'>Continuar... </a></h1>";// header("Location: ../"); }else{ $crear_campos = formulario_crear_campo('','',''); $listado = formulario_listado('','',''); $url_home = remplacetas('empresa','id',"$_SESSION[id_empresa]",'web',''); $url_home = "$url_home[0]"; //$consultas = formulario_consultar('',''); //$importador = formulario_importador(''); //$limpiar_cache = borrar_tmp(''); $configuracion= configuracion(''); $login = login_boton(''); $usuarios = " <li> <a data-toggle='collapse' data-target='.navbar-collapse' title='agregar usuarios' class='btn link pull-left' onclick=\"xajax_registro_express(xajax.getFormValues('login'),'nuevo');\"> <i class='glyphicon glyphicon-user'></i> Gestión de usuarios</a> </li>"; $menu = " <!-- Collect the nav links, forms, and other content for toggling --> <div class='collapse navbar-collapse' id='.navbar-collapse'> <ul class='nav navbar-nav' id='menu_milfs'> <li><a href='https://$url_home' data-toggle='collapse' data-target='.navbar-collapse' target='web'><i class='glyphicon glyphicon-home'></i></a></li> <li data-toggle='collapse' data-target='.navbar-collapse'>$crear_campos</li> $listado $usuarios <li style='float: right;'>$configuracion</li> </ul> <ul class='nav navbar-nav navbar-right'> $login </ul> </div><!-- /.navbar-collapse -->"; } return $menu; } function url_existe($url) { $handle = @fopen($url, "r"); if ($handle == false) return NULL; fclose($handle); return $url; } function es_imagen($url) { $imageSizeArray = getimagesize($url); $imageTypeArray = $imageSizeArray[2]; return (bool)(in_array($imageTypeArray , array(IMAGETYPE_GIF , IMAGETYPE_JPEG ,IMAGETYPE_PNG ))); } function parametrizacion($array) { //return $array; $link=Conectarse(); mysqli_real_escape_string($link,$array); $accion = $array[accion]; $tabla = $array[tabla]; $campo = $array[campo]; $opcion = $array[opcion]; $descripcion= $array[descripcion]; $visible= $array[visible]; $id= $array[id]; if($accion =='grabar'){ $consulta= "INSERT INTO form_parametrizacion set tabla='$tabla', campo ='$campo',opcion ='$opcion' , descripcion ='$descripcion' ,visible='$visible'"; } // return $consulta; $sql=mysqli_query($link,$consulta); if($sql){return "Campo grabado"; }else{return "";} } function registro_express($formulario,$accion) { //$formulario = mysql_seguridad($formulario); require("includes/datos.php"); include ("includes/parametrizacion.php"); //if($nombre_formulario =="") {$nombre_formulario = "login";} $nombre_formulario = "login"; $boton ="<div class='btn btn-block btn-success' onclick=\"xajax_registro_express(xajax.getFormValues('$nombre_formulario'),'confirmar')\">Grabar </div>"; $respuesta = new xajaxResponse('utf-8'); if($accion =='confirmar') { $div = "registro_confirmacion_email"; $email_existe = remplacetas("$tabla_autenticacion","email",$formulario[email_express_confirmar],"email",""); $documento_existe = remplacetas("$tabla_autenticacion","documento_numero",$formulario[documento_express],"documento_numero",""); if($email_existe[0] !="" or $formulario[email_express_confirmar] ==="") { $respuesta->addAlert("No se ha especificado un email o ya está en uso "); $respuesta->addAssign("email_express_grupo","className"," input-group has-error "); ///$respuesta->addAssign("debug","innerHTML","<br><br>$email_existe[2]"); $respuesta->addScript("document.getElementById('email_express').focus(); "); return $respuesta; } if($documento_existe[0] !="" OR $formulario['documento_express'] === "") { $respuesta->addAlert("No se ha proporcionado un documento único // $formulario[documento_express] // "); $respuesta->addAssign("documento_express_grupo","className"," input-group has-error "); $respuesta->addScript("document.getElementById('documento_express').focus(); "); return $respuesta; } if( !isset($formulario['password_express_confirmar']) ){ $resultado ="<div class='alert alert-danger'>Por favor escribe una clave. $formulario[password_express_confirmar] // $formulario[password_express]</div> $boton"; $respuesta->addAssign("password_express"."_grupo","className"," input-group has-error "); $respuesta->addAlert("Por favor escribe una la clave "); $respuesta->addScript("document.getElementById('password_express').focus(); "); $respuesta->addAssign("$div","innerHTML",$resultado); return $respuesta; } if($formulario['password_express_confirmar'] =="" or $formulario['password_express_confirmar'] !== $formulario['password_express'] ){ $resultado ="<div class='alert alert-danger'>Por favor escribe y confirma una clave. $formulario[password_express_confirmar] // $formulario[password_express]</div> $boton"; $respuesta->addAssign("password_express"."_grupo","className"," input-group has-error "); $respuesta->addAlert("Por favor escribe y confirma la clave XXX"); $respuesta->addScript("document.getElementById('password_express').focus(); "); $respuesta->addAssign("$div","innerHTML",$resultado); return $respuesta; } if($formulario['email_express_confirmar'] ==="") { $resultado .= "$boton <div class='alert alert-danger'>No hay un email válido // $formulario[email_express_confirmar] </div>"; $respuesta->addAssign("$div","innerHTML",$resultado); return $respuesta; }else{ $email_envio = $formulario['email_express_confirmar']; $rrn = rand(123,999); $rrncode = MD5("$rrn"); // $aviso= aviso('','mail privacidad',''); $direccion = remplacetas("empresa","id",$id_empresa,"direccion",""); $telefono = remplacetas("empresa","id",$id_empresa,"telefono",""); $web = remplacetas("empresa","id",$id_empresa,"web",""); $email = remplacetas("empresa","id","1","email",""); $imagen = remplacetas("empresa","id",$id_empresa,"imagen",""); $razon_social = remplacetas("empresa","id",$id_empresa,"razon_social",""); $slogan = remplacetas("empresa","id",$id_empresa,"slogan",""); $headers = "MIME-Version: 1.0\r\n"; $headers .= "Content-type: text/html; charset=iso-8859-1\r\n"; $headers .= "From: $razon_social[0] <$email[0]>\r\n"; $headers .= "Reply-To: $email[0]\r\n"; $headers .= "Return-path: $email[0]\r\n"; $asunto= "Código de validación"; $cuerpo =" <div style='border: solid 1px; padding:20px ; border-radius: 10px; background-color:#E6F8E0 '> <h1>Registro</h1> <hr /> <h3>Código de validación</h3> <p>Bienvenido a nuestra aplicación. Por favor digita el siguente código para validar tu cuenta.</p> <H1>$rrn</H1> </div> $aviso "; mail("$email_envio","$asunto","$cuerpo","$headers") ; $boton ="<div class='btn btn-block btn-success' onclick=\"xajax_registro_express(xajax.getFormValues('$nombre_formulario'),'validar');\">Confirmar</div>"; $control = MD5(mktime().$rrncode); $resultado .=" <div class='row'> <div class='col-sm-2'> </div> <div class='col-sm-8'> <div class='form-group has-error' id='codigo_confirmacion'> <span class='help-block'>Escribe el código de confirmación <strong>$rrn</strong></span> <div class='input-group' id=''> <span class='input-group-addon'> <i class='glyphicon glyphicon-key'></i> </span> <input type='hidden' id='rrn' name='rrn' value='$rrncode'> <input type='hidden' id='hidden' name='control' value='$control'> <input type='number' id='codigo_confirmacion' name='codigo_confirmacion' placeholder='Codigo de validación' class='form-control'> </div> </div> </div> <div class='col-sm-2'> </div> </div> $boton "; } $respuesta->addAssign("$div","innerHTML",$resultado); return $respuesta; }elseif($accion =="elegir") { $form = " <div id='login_express'> <div class='' id='datos_usuario'> <div class='row' id=''> <div class='col-sm-6'> <div class='btn btn-primary btn-block' onclick=\"xajax_registro_express(xajax.getFormValues('$nombre_formulario'),'nuevo');\" >Usuario nuevo</div> </div> <div class='col-sm-6'> <div class='btn btn-success btn-block' data-target=\"#modal_login\" data-toggle=\"modal\" >Ya estoy registrado</div> <div> </div> </div> </div> <a target='_blank' href='http://qwerty.co/faq/category/19/privacidad-y-protecci%C3%B3n-de-datos.html'>Antes de continuar, por favor revisa nuestras Políticas de privacidad y protección de datos.</a> </p> "; return $form; } elseif($accion =="validar") { $boton ="<div class='btn btn-block btn-success' onclick=\"xajax_registro_express(xajax.getFormValues('$nombre_formulario'),'confirmar');\">Confirmar</div>"; $div = "registro_confirmacion_email"; if($formulario['password_express_confirmar'] =="" OR $formulario['password_express_confirmar'] != $formulario['password_express'] ){ $resultado ="<div class='alert alert-danger'>Por favor escribe y confirma una clave.</div> $boton"; $respuesta->addAssign("password_express"."_grupo","className"," input-group has-error "); $respuesta->addAlert("Por favor escribe y confirma la clave"); $respuesta->addScript("document.getElementById('password_express').focus(); "); $respuesta->addAssign("$div","innerHTML",$resultado); return $respuesta; } $codigo_confirmacion = $formulario['codigo_confirmacion']; // $rrn = $formulario[rrn]; // $codificado = md5("$codigo_confirmacion"); if($rrn == $codificado) { $control = $formulario['control']; // nuevo_ // nuevo_ $equipo = $formulario['equipo']; // nuevo_ if($id_empresa =="" and isset($_SESSION['id_empresa']) AND $_SESSION['id']!='1' ) {$id_empresa= $_SESSION['id_empresa'];} elseif( $_SESSION['id']=='1' AND $formulario['id_empresa'] !="" ){$id_empresa = $formulario['id_empresa'];} else{$id_empresa= "3";} $nombre_formulario = $formulario['nombre_formulario']; // nuevo_ $email_express = $formulario['email_express']; // aa@gmail.com $email_express_confirmar = $formulario['email_express_confirmar']; // aa@gmail.com $nombre_express = $formulario['nombre_express']; // nombre $apellido_express = $formulario['apellido_express']; // apellido $telefono_express = $formulario['telefono_express']; // 324343 $password_express = $formulario['password_express']; // 1234 $documento = $formulario['documento_express']; // 1234 $password_express_confirmar = $formulario['password_express_confirmar']; // 23456 $ip = obtener_ip(); $link = Conectarse(); mysqli_set_charset($link, "utf8"); $consulta = "INSERT INTO $tabla_autenticacion (username,p_nombre,p_apellido,email,passwd,control,status,lastip,id_empresa,documento_numero,equipo,id_grupo,licencia) VALUES ('$email_express_confirmar','$nombre_express','$apellido_express','$email_express_confirmar','".MD5($password_express_confirmar)."','$control','1','$ip','$id_empresa','$documento','$equipo','3','$id_empresa // $_SESSION[id_empresa]')"; //$respuesta->addAssign("debug","innerHTML",$consulta); //return $respuesta; $sql_consulta=mysqli_query($link,$consulta); if($sql_consulta) { $id = mysqli_insert_id($link); $consulta_localizacion = "INSERT INTO localizacion (id_localizado,telefono,id_grupo) VALUES ('$id','$telefono_express','1')"; $consulta_empresa = "INSERT INTO empresa SET razon_social = '$nombre_express $nombre_express', regimen_tributario = 'simplificado' ,id_responsable='$id'"; $sql_localizacion=mysqli_query($link,$consulta_localizacion); //$sql_empresa=mysqli_query($link,$consulta_empresa); if($sql_empresa) { $id_empresa = mysqli_insert_id($link); $_SESSION['id_empresa'] = $id_empresa; $_SESSION['id'] = $id; } //// faltan variables de session } $resultado = "<div class='alert alert-success'><h1>Bienvenido</h1> <p>Felicitaciones, tu registro se efectuó correctamente, ahora puedes usar nuestros servicios.</p> </div>"; $div = "contenido"; $respuesta->addAssign("$div","innerHTML",$resultado); sleep(2); $respuesta->addRedirect(""); //$respuesta->addAssign("$div","innerHTML",$resultado); return $respuesta; }else{ $resultado = "<div class='alert alert-danger'><h3>Error</h3>El Código de confirmación no es correcto, por favor inténtalo nuevamente.</div>"; } $resultado .= "$boton"; $respuesta->addAssign("$div","innerHTML",$resultado); return $respuesta; } elseif($accion =="nuevo") { //$respuesta = new xajaxResponse('utf-8'); $div="contenido"; if($_SESSION['id'] == 1 AND @$soporte_multiempresa !== 0) { $empresa = select('empresa','id','razon_social','',"estado = '1'",'id_empresa',''); $empresa =" <div class='input-group'> <span class='input-group-addon'><i class=' glyphicon glyphicon-heart-empty'></i> Proyecto </span> $empresa </div> "; } $id_empresa = "document.getElementById('id_empresa').value"; if( isset($_SESSION['id_empresa'])){ $equipo = equipos('',"$id_empresa",'equipo','') ; $equipo=" <div class='input-group' id='equipo_grupo'> <span class='input-group-addon'> <i class='glyphicon glyphicon-user '></i><i class='glyphicon glyphicon-user '></i> </span> $equipo </div>"; $listado_usuarios = usuarios_listado($tabla_autenticacion,""); $mailer = mailer('','','',''); }else{$equipo=""; $div="div_login";} $form = " <div class='alert alert-warning'> <form autocomplete='off' autocomplete='off' class='form' id='$nombre_formulario' name='$nombre_formulario' > <input type='hidden' value = 'nuevo_$nombre_formulario' id='nombre_formulario' name='nombre_formulario' > <legend>Nuevo usuario </legend> <div class='row'> <div class='col-md-6'> <label></label> $empresa </div> <div class='col-md-6'> <label></label> $equipo <div style='position:absolute; z-index:100; left: 50px;' id='div_equipo'></div> </div> </div> <div class='row'> <div class='col-md-6'> <label></label> <div class='input-group' id='email_express_grupo'> <span class='input-group-addon'> <i class='glyphicon glyphicon-envelope'></i> </span> <input value='' type='email' id='email_express' name='email_express' placeholder='Email' class='form-control' onclick=\"(this.value=''); \" onchange=\"xajax_validar_usuario('email',(this.value),'email_express','login'); \" > </div> </div> <div class='col-md-6'> <label></label> <div class='input-group' id='email_express_confirmar_grupo'> <span class='input-group-addon'> <i class='glyphicon glyphicon-envelope'></i> </span> <input value='' type='email' id='email_express_confirmar' name='email_express_confirmar' placeholder='Confirmar email' class='form-control' onclick=\"(this.value=''); \" onchange= \"xajax_confirma_campo((document.getElementById('email_express').value),(this.value),'email_express','email_express_confirmar'); \" > </div> </div> </div> <div class='row'> <div class='col-md-6'> <label></label> <div class='input-group' id='nombre_express'> <span class='input-group-addon'> <i class='glyphicon glyphicon-user'></i> </span> <input type='text' id='nombre_express' name='nombre_express' placeholder='Nombre' class='form-control'> </div> </div> <div class='col-md-6'> <label></label> <div class='input-group' id='apellido_express'> <span class='input-group-addon'> <i class='glyphicon glyphicon-user '></i> </span> <input type='text' id='apellido_express' name='apellido_express' placeholder='Apellido' class='form-control'> </div> </div> </div> <div class='row'> <div class='col-md-6'> <label></label> <div class='input-group' id='documento_express_grupo' title='Documento de identidad'> <span class='input-group-addon'> <i class='glyphicon glyphicon-certificate'></i> </span> <input type='number' id='documento_express' name='documento_express' placeholder='Documento de identidad' class='form-control' onclick=\"(this.value=''); \"> </div> </div> <div class='col-md-6'> <label></label> <div class='input-group' id='telefono_express'> <span class='input-group-addon'> <i class='glyphicon glyphicon-phone'></i> </span> <input type='phone' id='telefono_express' name='telefono_express' placeholder='Teléfono' class='form-control' onclick=\"(this.value=''); \"> </div> </div> </div> <div class='row'> <div class='col-md-6'> <label></label> <div class='input-group' id='password_express_grupo'> <span class='input-group-addon'> <i class='glyphicon glyphicon-lock'></i> </span> <input type='password' id='password_express' name='password_express' placeholder='Clave' class='form-control' onclick=\"(this.value=''); \"> </div> </div> <div class='col-sm-6'> <label></label> <div class='input-group' id='password_express_confirmar_grupo'> <span class='input-group-addon'> <i class='glyphicon glyphicon-lock'></i> </span> <input type='password' id='password_express_confirmar' name='password_express_confirmar' placeholder='Confirma tu clave' class='form-control' onclick=\"(this.value=''); \" onchange= \"xajax_confirma_campo((document.getElementById('password_express').value),(this.value),'password_express','password_express_confirmar'); \" > </div> </div> </div> <div class='row'> <div class='col-md-12'> <br> <div id='registro_confirmacion_email'> $boton </div> </div> </div> </form> </div> <!-- listado_usuarios --> $mailer $listado_usuarios <!-- listado_usuarios --> "; $respuesta->addAssign("$div","innerHTML",$form); return $respuesta; } elseif($accion =="boton"){ $modal =" <form autocomplete='off' class='navbar-form navbar-left' role='form' id='form_contacto' name='form_contacto'> <div class='form-group'> <input type='text' class='form-control input-small' placeholder='Email o usuario' id='email' name='email'> </div> <div class='form-group'> <input type='password' class='form-control input-small' placeholder='Clave ****' id='password' name='password'> </div> <div class='btn btn-default' onclick=\"xajax_revisar_ingreso(xajax.getFormValues('form_contacto')) ; \"><i class='glyphicon glyphicon-log-in '></i></div> </form>"; return; //$modal; } else{} $respuesta->addAssign("$div","innerHTML",$resultado); return $respuesta; } $xajax->registerFunction("registro_express"); function sucursales($id_usuario,$id_sucursal){ $respuesta = new xajaxResponse('utf-8'); $link=Conectarse(); mysqli_set_charset($link, "utf8"); $consulta = "show tables LIKE 'sucursales'"; $sql = mysqli_query($link,$consulta); if (mysqli_num_rows($sql)!=0){ $onchange="xajax_sucursales_permitidas(this.value,'$id_usuario','','grabar')"; $listado_sucursales = select("sucursales","id","sucursal_area,sucursal_nombre",$onchange,$where,"sucursales",$valor); $sucursales_permitidas = sucursales_permitidas($id_sucursal,$id_usuario,$onchange,"listado"); $resultado =" <li class='list-group-item '> <div class=''>Sucursales Permitidas</div> $listado_sucursales $sucursales_permitidas </li> "; }else{ $resultado="";} return "$resultado"; } $xajax->registerFunction("sucursales"); function ipes($id_usuario,$accion){ $respuesta = new xajaxResponse('utf-8'); $ipes_actual = remplacetas('form_parametrizacion','campo',$id_usuario,'descripcion'," tabla='usuarios' AND opcion='ipes'") ; $class_internet="btn-primary"; $class_local="btn-primary"; $class_ipes="btn-primary"; $real_ip = getRealIP(); if($accion ==""){ if($ipes_actual[0] !="" ){ if ($ipes_actual[0] =="local" or $ipes_actual[0] =="internet"){ ${"class_".$ipes_actual[0]} ="btn-success disabled "; //${"key_lectura_".$id} }else{ $class_ipes="btn-success ";} }else{ // $class_ipes="btn-success disabled"; } $resultado =" <li class='list-group-item '> <div class=''>IPs Permitidas</div> <div class='btn-group'> <div id='boton_internet' class='btn $class_internet' onclick=\"xajax_ipes('$id_usuario','internet'); \" >Internet</div> <div id='boton_local' class='btn $class_local ' onclick=\"xajax_ipes('$id_usuario','local'); \" $disabled >Local</div> <div id='boton_ipes' class='btn $class_ipes' onclick=\"xajax_ipes('$id_usuario','ipes'); \" $disabled>Definir IP </div> </div><div id='input_ipes'></div> $sucursales_permitidas </li> "; } elseif($accion =="ipes"){ $input ="<div class='input-group'><input value='$ipes_actual[0]' id='input_ipes_$id_usuario' name='input_ipes' type='text' class='form-control' placeholder='Escriba una IP válida'><span class='input-group-addon btn' onclick=\"xajax_ipes('$id_usuario',(document.getElementById('input_ipes_$id_usuario').value)); \" >Grabar</span></div>"; $respuesta->addAssign("boton_$accion","className","btn btn-warning active "); $respuesta->addAssign("boton_local","className","btn btn-primary "); $respuesta->addAssign("boton_internet","className","btn btn-primary "); $respuesta->addAssign("input_ipes","innerHTML",$input); return $respuesta; } elseif($accion =="local"){ $insertar = parametrizacion_linea('usuarios',"$id_usuario","ipes","$accion",'','',''); $respuesta->addAssign("boton_$accion","className","btn btn-success inactive "); $respuesta->addAssign("boton_ipes","className","btn btn-primary "); $respuesta->addAssign("boton_internet","className","btn btn-primary "); $respuesta->addAssign("input_ipes","innerHTML",""); return $respuesta; } elseif($accion =="internet"){ $insertar = parametrizacion_linea('usuarios',"$id_usuario","ipes","$accion",'','',''); $respuesta->addAssign("boton_$accion","className","btn btn-success inactive "); $respuesta->addAssign("boton_local","className","btn btn-primary "); $respuesta->addAssign("boton_local","className","btn btn-primary "); $respuesta->addAssign("input_ipes","innerHTML",""); return $respuesta; } else{ if (filter_var($accion, FILTER_VALIDATE_IP)) { $insertar = parametrizacion_linea('usuarios',"$id_usuario","ipes","$accion",'','',''); $respuesta->addAssign("boton_ipes","className","btn btn-success inactive "); $respuesta->addAssign("boton_local","className","btn btn-primary "); $respuesta->addAssign("boton_local","className","btn btn-primary "); $respuesta->addAssign("input_ipes","innerHTML","$accion"); } else { $respuesta->addAlert("$accion no es una ip válida"); } return $respuesta; } return "$resultado"; } $xajax->registerFunction("ipes"); function filtrar_ip($ip){ } function getRealIP() { if (isset($_SERVER["HTTP_CLIENT_IP"])) { return $_SERVER["HTTP_CLIENT_IP"]; } elseif (isset($_SERVER["HTTP_X_FORWARDED_FOR"])) { return $_SERVER["HTTP_X_FORWARDED_FOR"]; } elseif (isset($_SERVER["HTTP_X_FORWARDED"])) { return $_SERVER["HTTP_X_FORWARDED"]; } elseif (isset($_SERVER["HTTP_FORWARDED_FOR"])) { return $_SERVER["HTTP_FORWARDED_FOR"]; } elseif (isset($_SERVER["HTTP_FORWARDED"])) { return $_SERVER["HTTP_FORWARDED"]; } else { return $_SERVER["REMOTE_ADDR"]; } } function sucursales_permitidas($id_sucursal,$id_usuario,$onchange,$accion){ $respuesta = new xajaxResponse('utf-8'); $opciones=""; $link=Conectarse(); mysqli_set_charset($link, "utf8"); mysqli_real_escape_string($link,$id_usuario); $consulta =" SELECT * FROM `form_parametrizacion` WHERE tabla ='sucursales' AND campo = '$id_usuario' AND descripcion ='sucursal' "; $sql=mysqli_query($link,$consulta); if($accion =="listado" OR $accion =="comprobar" OR $accion=="establecer"){ if($sql){ if (mysqli_num_rows($sql)!='0'){ mysqli_data_seek($sql, 0); while( $row = mysqli_fetch_array( $sql ) ) { $sucursal_area = remplacetas('sucursales',"id","$row[opcion]",'sucursal_area',"") ; $sucursal_nombre = remplacetas('sucursales',"id","$row[opcion]",'sucursal_nombre',"") ; $sucursal_descripcion = remplacetas('sucursales',"id","$row[opcion]",'sucursal_descripcion',"") ; if($accion=='listado'){ $revocar= " <div class='btn btn-default btn-danger btn-xs' onclick=\"xajax_borrar_linea('form_parametrizacion','$row[id]','linea_$row[id]'); \"> <i class='glyphicon glyphicon-trash'></i> </div>"; //xajax_parametrizacion_editar_sucursal(this.value,'establecer','$capa','1','') }elseif($accion=='establecer'){ $revocar="<div class='btn btn-info btn-xs' onclick=\"xajax_parametrizacion_editar_sucursal('$row[opcion]','establecer','capa_sucursal','1','')\"> ESTABLECER </div>"; }else{} $opciones .="<div id='linea_$row[id]'><li > $sucursal_area[0] $sucursal_nombre[0] $sucursal_descripcion[0] $revocar</li></div>"; if(mysqli_num_rows($sql) == 1 AND $accion =='comprobar'){ return $row['opcion'] ; } } $resultado="$opciones"; } else { $resultado="<span class='text-danger'>No hay sucursales autorizadas</span>";} } if($accion=="listado"){ return "<ul><div id='listado_sucursal_linea'>$resultado</div></ul>"; } elseif($accion=="establecer"){ return "<ul><div id='listado_sucursal_linea'>$resultado</div></ul>"; }else{ $resultado= "multiples"; return $resultado; } }elseif($accion =="grabar") { $existe = remplacetas('form_parametrizacion','campo',"$id_usuario",'opcion',"opcion='sucursal' and descripcion = 'sucursal'") ; if( $existe[0] == $id_sucursal ) { $respuesta->addAlert("El usuario ya está autorizado para esta sucursal "); return $respuesta; } $sucursal_area = remplacetas('sucursales',"id","$id_sucursal",'sucursal_area',"") ; $sucursal_nombre = remplacetas('sucursales',"id","$id_sucursal",'sucursal_nombre',"") ; $sucursal_descripcion = remplacetas('sucursales',"id","$id_sucursal",'sucursal_descripcion',"") ; $insertar = parametrizacion_linea('sucursales',"$id_usuario","$id_sucursal",'sucursal','','',''); $revocar= ""; $linea ="<div id='linea_$id_sucursal'><li> $sucursal_area[0] $sucursal_nombre[0] $sucursal_descripcion[0] $revocar</li></div>"; //$respuesta->addScript("xajax_parametrizacion_linea('id_usuario','$usuario','$form_id','autorizacion','autorizacion_confimar')"); //$actualizado = formulario_permisos_usuario("$form_id","$usuario","listado"); $respuesta->addAppend("listado_sucursal_linea","innerHTML","$linea"); return $respuesta; } // elseif($accion =="comprobar") { $resultado = "$accion"; return $resultado ; } else{} } $xajax->registerFunction("sucursales_permitidas"); function cambiar_grupo($id_usuario,$id_grupo){ $respuesta = new xajaxResponse('utf-8'); $link=Conectarse(); mysqli_set_charset($link, "utf8"); $consulta = "UPDATE $_SESSION[tabla_autenticacion] SET `id_grupo` = '".mysqli_real_escape_string($link,$id_grupo)."' WHERE `id` = '".mysqli_real_escape_string($link,$id_usuario)."' "; $sql = mysqli_query($link,$consulta); $respuesta->addScript(""); return $respuesta; } $xajax->registerFunction("cambiar_grupo"); function buscar_funcionario($formulario,$tipo,$div){ $tabla_autenticacion = $_SESSION['tabla_autenticacion']; $respuesta = new xajaxResponse('utf-8'); $link=Conectarse(); mysqli_set_charset($link, "utf8"); if($tipo =="buscador"){ $div ="div_mostrar_funcionario"; $resultado= " <div class='container'> <div class='col-md-6'> <form autocomplete='off' id='buscar_funcionario' name='buscar_funcionario' > <div class='form-group'> <label for='documento'>Documento</label> <input class='form-control' id='documento' name='documento' > </div> <div class='form-group'> <div class='btn btn-success' onclick =\" xajax_buscar_funcionario(xajax.getFormValues('buscar_funcionario'),'busqueda','$div');\" >Buscar</div> </div> </form> </div> <div class='col-md-6'> <div class='btn btn-warning' onclick =\" xajax_buscar_funcionario(xajax.getFormValues('buscar_funcionario'),'nuevo','$div');\">Usuario nuevo</div> </div> </div> <div id='$div'></div> "; print $resultado; return; } elseif( $tipo =='busqueda') { $id = $formulario; //$consulta= "SELECT * FROM $tabla_autenticacion ,usuarios_grupo WHERE $tabla_autenticacion.id_grupo = usuarios_grupo.id_grupo AND documento_numero ='".$documento."' LIMIT 1"; $consulta= "SELECT *, usuarios_grupo.id AS id_grupo , $tabla_autenticacion.id AS id_usuario FROM $tabla_autenticacion ,usuarios_grupo WHERE $tabla_autenticacion.id_grupo = usuarios_grupo.id AND $tabla_autenticacion.id ='".$id."' LIMIT 1"; //$respuesta->addAlert(" ya $consulta"); //$respuesta->addAssign("$div","innerHTML","$resultado"); //return $respuesta; $sql = mysqli_query($link,$consulta); if (mysqli_num_rows($sql)!=0){ $resultado ="<ul>"; mysqli_data_seek($sql, 0); while( $row = mysqli_fetch_array( $sql ) ) { if($_SESSION['grupo'] === "1") { //($tabla,$key,$campo,$valor,$accion,$div,$indice) $username = editar_campo("$tabla_autenticacion",$row['id_usuario'],"username","","","",""); $email = editar_campo("$tabla_autenticacion",$row['id_usuario'],"email","","","",""); $p_nombre = editar_campo("$tabla_autenticacion",$row['id_usuario'],"p_nombre","","","",""); $s_nombre = editar_campo("$tabla_autenticacion",$row['id_usuario'],"s_nombre","","","",""); $p_apellido = editar_campo("$tabla_autenticacion",$row['id_usuario'],"p_apellido","","","",""); $s_apellido = editar_campo("$tabla_autenticacion",$row['id_usuario'],"s_apellido","","","",""); $fecha_nacimiento = editar_campo("$tabla_autenticacion",$row['id_usuario'],"fecha_nacimiento","","","",""); $telefono_celular = editar_campo("$tabla_autenticacion",$row['id_usuario'],"telefono_celular","","","",""); $titulo_profesional = editar_campo("$tabla_autenticacion",$row['id_usuario'],"titulo_profesional","","","",""); $ocupacion = editar_campo("$tabla_autenticacion",$row['id_usuario'],"ocupacion","","","",""); $cargo = editar_campo("$tabla_autenticacion",$row['id_usuario'],"cargo","","","",""); $equipo = editar_campo("$tabla_autenticacion",$row['id_usuario'],"equipo","","","",""); if($row['imagen'] =="") { $imagen = "images/profile.jpg"; } else{$imagen= "images/secure/?file=300/$row[imagen]";} if($row['firma'] =="") { $firma = ""; } else{$firma= "images/secure/?file=300/$row[firma]";} //$grupo = seleccionar_grupo('id_grupo',"$row[id_grupo]"); $grupo = select('usuarios_grupo','id','grupo_nombre',"xajax_cambiar_grupo('$row[id_usuario]',(this.value))",'',"","$row[id_grupo]"); //select($tabla,$value,$descripcion,$onchange,$where,$nombre,$valor) $grupo =" <div class='input-group'> <span class='input-group-addon'> Grupo: </span> $grupo </div> "; } //$ = editar_campo("$tabla_autenticacion",$row['id_usuario'],"","","",""); $listado_formularios = formulario_permisos_usuario("","$id",''); $listado_sucursales = sucursales("$id",''); $listado_ipes = ipes("$id",''); $subir_imagen = subir_imagen("","imagen","milfs"); $subir_firma = subir_imagen("","firma","milfs"); $resultado .= " <div class='panel panel-default'> <div class='panel-heading'> <h2 >Perfil de usuario</h2> </div> <div class='panel-body'> <div class='row'> <div class='col-md-4'> <div class='img-rounded img-responsive ' id='banner_imagen' style=' background-position:top center ; -webkit-background-size: cover; -moz-background-size: cover; -o-background-size: cover; background-size: cover; background-repeat:no-repeat; background-image: url($imagen ) ; padding:10px; padding:10px; min-height:600px; '><a href='#logo'></a> </div> $subir_imagen <input type='hidden' id='imagen' name='imagen'> <div onclick = \"xajax_cambiar_imagen((document.getElementById('imagen').value),'$_SESSION[tabla_autenticacion]','$row[id_usuario]','imagen') \"; class='btn btn-default btn-sx'>Cambiar imagen</div> </div> <div class='col-md-8'> <ul class='list-group'> <li class='list-group-item'>Nombre de usuario: $username</li> <li class='list-group-item'>Primer nombre: $p_nombre</li> <li class='list-group-item'>Otros nombres: $s_nombre</li> <li class='list-group-item'>Primer apellido: $p_apellido</li> <li class='list-group-item'>Otros apellidos: $s_apellido</li> <li class='list-group-item'>Fecha de nacimieno: $fecha_nacimiento</li> <li class='list-group-item'>Teléfono: $telefono_celular</li> <li class='list-group-item'>Titulo profesional: $titulo_profesional</li> <li class='list-group-item'>Ocupación: $ocupacion</li> <li class='list-group-item'>Cargo: $cargo</li> <li class='list-group-item '> <div class='row'> <div class='col-xs-6'>$grupo</div> <div class='col-xs-6'>$equipo</div> </div> </li> <li class='list-group-item ' id='li_listado_formularios_permitidos'><div class=''> $listado_formularios</div></li> $listado_sucursales $listado_ipes <li class='list-group-item '> <h3>Firma escaneada</h3> <div class='img-rounded img-responsive ' id='banner_firma' style=' background-position:top center ; -webkit-background-size: cover; -moz-background-size: cover; -o-background-size: cover; background-size: cover; background-repeat:no-repeat; background-image: url($firma ) ; padding:10px; padding:10px; min-height:300px; width: 800px; '><a href='#firma'></a> </div> $subir_firma <input type='hidden' id='firma' name='firma'> <div onclick = \"xajax_cambiar_imagen((document.getElementById('firma').value),'$_SESSION[tabla_autenticacion]','$row[id_usuario]','firma') \"; class='btn btn-default btn-sx'>Establece firma</div> </div> </li> </ul> </div> </div> </div> </div> "; } $resultado .= "</ul>";}else { $resultado ="<div class='alert alert-danger'>No existe el usuario </div>"; } $respuesta->addAssign("muestra_form","innerHTML","$resultado"); $respuesta->addAssign("titulo_modal","innerHTML","$regresar"); //$respuesta->addAssign("titulo_modal","innerHTML","$datos_usuario"); //$respuesta->addAssign("pie_modal","innerHTML","$pie"); $respuesta->addscript("$('#muestraInfo').removeClass('fade').modal('hide')"); $respuesta->addscript("$('#muestraInfo').modal('toggle')"); return $respuesta; } elseif( $tipo =='nuevo') { ///$grupo = select('usuarios_grupos','id','nombre,regimen','xajax_eapbs((this.value))',"",''); $grupo = seleccionar_grupo('id_grupo'); $resultado =" <div class='alert alert-info row'> <h2>Crear un usuario</h2> <form autocomplete='off' name='nuevo_usuario' id='nuevo_usuario'> <fieldset> <legend>Datos personales</legend> <div class='form-group'> <label for='p_nombre'>Primer nombre</label> <input class='form-control' name='p_nombre' id='p_nombre'> </div> <div class='form-group'> <label for='s_nombre'>Segundo nombre</label> <input class='form-control' name='s_nombre' id='s_nombre'> </div> <div class='form-group'> <label for='p_apellido'>Primer apellido</label> <input class='form-control' name='p_apellido' id='p_apellido'> </div> <div class='form-group'> <label for='s_apellido'>Segundo apellido</label> <input class='form-control' name='s_apellido' id='s_apellido' > </div> <div class='form-group'> <label for='fecha_nacimiento'>Fecha de Nacimiento</label> <input class='form-control' name='fecha_nacimiento' id='fecha_nacimiento' type='date'> </div> <div class='form-group'> <label for='documento_numero'>Documento de identidad</label> <input class='form-control' name='documento_numero' id='documento_numero' > </div> <div class='form-group'> <label for='telefono_celular'>Teléfono</label> <input class='form-control' name='telefono_celular' id='telefono_celular' > </div> </fieldset> <fieldset> <legend>Datos de acceso</legend> <div class='form-group'> <label for='id_grupo'>Grupo</label> $grupo </div> <div class='form-group'> <label for='username'>Nombre de usuario</label> <input class='form-control' name='username' id='username'> </div> <div class='form-group' > <label for='email'>Email</label> <div class='' id='email_grupo'> <input class='form-control' name='email' id='email' onclick= \"(this.value='');(document.getElementById('email_confirmacion').value='')\" > </div> </div> <div class='form-group' > <label for='email_confirmacion'>Confirmar email</label> <div class='' id='email_confirmacion_grupo'> <input class=' form-control ' name='email_confirmacion' id='email_confirmacion' onchange= \"xajax_confirma_campo((document.getElementById('email').value),(document.getElementById('email_confirmacion').value),'email','email_confirmacion') \" > </div> </div> </fieldset> <fieldset> <legend>Datos laborales</legend> <div class='form-group'> <label for='titulo_profesional'>Título profesional</label> <input class='form-control' name='titulo_profesional' id='titulo_profesional' > </div> <div class='form-group'> <label for='ocupacion'>Ocupación</label> <input class='form-control' name='ocupacion' id='ocupacion' > </div> <div class='form-group'> <label for='cargo'>Cargo</label> <input class='form-control' name='cargo' id='cargo' > </div> </fieldset> <div class='form-group col-md-6'> <div class='btn btn-success btn-block' onclick =\" xajax_buscar_funcionario(xajax.getFormValues('nuevo_usuario'),'grabar','$div');\" >Grabar</div> </div> <div class='form-group col-md-6'> <div class='btn btn-danger btn-block' onclick =\" xajax_buscar_funcionario('','','$div');\" >Cancelar</div> </div> </form> </div> "; } elseif( $tipo =='grabar') { $password = generar_password(); $password_md5 = md5($password); $consulta ="INSERT INTO $tabla_autenticacion SET username='$formulario[username]', email='$formulario[email]', p_nombre='$formulario[p_nombre]', s_nombre='$formulario[s_nombre]', p_apellido='$formulario[p_apellido]', s_apellido='$formulario[s_apellido]', fecha_nacimiento='$formulario[fecha_nacimiento]', telefono_celular='$formulario[telefono_celular]', titulo_profesional='$formulario[titulo_profesional]', documento_numero='$formulario[documento_numero]', ocupacion='$formulario[ocupacion]', cargo='$formulario[cargo]', id_grupo='$formulario[id_grupo]', passwd ='$password_md5' "; $insertar = mysqli_query($link,$consulta); $resultado = "$consulta"; } else {} $resultado .=""; $respuesta = new xajaxResponse('utf-8'); $respuesta->addAlert(" ya $resultado"); $respuesta->addAssign("$div","innerHTML","$resultado"); return $respuesta; } $xajax->registerFunction("buscar_funcionario"); function usuarios_listado($tabla,$div){ if($_SESSION['id'] == 1) { $w_empresa="";} else {$w_empresa = "WHERE id_empresa= '$_SESSION[id_empresa]' ";} $link=Conectarse(); mysqli_set_charset($link, "utf8"); $consulta = "SELECT * FROM $tabla $w_empresa ORDER BY username "; $sql=mysqli_query($link,$consulta); $resultado="<table class='table table-striped table-responsive' > <legend></legend> <tr ><th>Id</th><th>Username</th><th>Nombre</th><th>Email</th><th>Proyecto</th><th>Equipo</th><th></th><th></th></tr> " ; if (mysqli_num_rows($sql)!='0'){ // if($onchange !=''){$vacio ="";}else{$vacio ="<option value=''> >> Nuevo << </option>";} $linea = 1; while( $row = mysqli_fetch_array( $sql ) ) { $username= editar_campo("$tabla",$row['id'],"username","","","",""); $p_nombre= editar_campo("$tabla",$row['id'],"p_nombre","","","",""); $p_apellido= editar_campo("$tabla",$row['id'],"p_apellido","","","",""); $email= editar_campo("$tabla",$row['id'],"email","","","",""); $equipo= editar_campo("$tabla",$row['id'],"equipo","","","",""); //$empresa_id= editar_campo("$tabla",$row['id'],"id_empresa","","",""); $empresa_id= $row['id_empresa']; $grupo = remplacetas('usuarios_grupo','id',"$row[id_grupo]","grupo_nombre","") ; $empresa = remplacetas('empresa','id',"$row[id_empresa]","razon_social","") ; require ("includes/parametrizacion.php"); if($_SESSION['id'] == 1 AND @$soporte_multiempresa !== 0) { $empresa_id= editar_campo("$tabla",$row['id'],"id_empresa","","","",""); }else {$empresa_id= $row['id_empresa'];} if($row['id'] !="1") { $acciones = "<a onclick=\" xajax_eliminar_campo('$tabla','$row[id]','tr_$row[id]')\"><i class='glyphicon glyphicon-trash'></i></a>";} else {$acciones="";} $resultado .= "<tr id ='tr_$row[id]'><td>$row[id]</td><td>$username</td><td>$p_nombre $p_apellido</td><td>$email </td><td title='$row[id_empresa]'><strong>$empresa[0]</strong> <br> $grupo[0] </td><td>$equipo </td><td><div class='btn btn-warning btn-xs' onclick =\" xajax_buscar_funcionario('$row[id]','busqueda','$div');\" >Editar</div></td><td class='danger'>$acciones </td></tr>"; $linea++; } }else{ $resultado = "<div class='alert alert-warning alert_sin_resultados'><i class='glyphicon glyphicon-exclamation-triangle '></i> No hay resultados 0018</div>"; } if($div =="") { $div="contenido"; // $resultado ="<a class='btn btn-warning' title='Configuración' href='#' onclick= \"xajax_multiempresa('empresa','$div') \">Configuración multiempresa</a>"; return $resultado; } $respuesta->addScript("javascript:xajax_multiempresa('empresa','$div')"); return $respuesta; } $xajax->registerFunction("usuarios_listado"); function XXX($identificador,$tipo,$usuario,$div){ if($tipo=="todo") { $w_tipo =""; }else { $w_tipo ="AND tipo= '$tipo'"; } $consulta = "SELECT * FROM form_interacciones WHERE identificador = '$identificador' $w_tipo ORDER BY timestamp DESC "; $link=Conectarse(); mysqli_set_charset($link, "utf8"); mysqli_real_escape_string($link,$consulta); $sql=mysqli_query($link,$consulta); if (mysqli_num_rows($sql)!='0'){ $resultado = mysqli_num_rows($sql); require ("milfs/includes/parametrizacion.php"); while( $row = mysqli_fetch_array( $sql ) ) { $usuario = remplacetas('form_datos','control',"$row[usuario]","contenido","id_campo = '$login_campo_nombres'") ; $nombre_usuario = remplacetas('form_datos','control',"$control_servicio[0]","contenido"," id_campo = '$login_campo_nombres'") ; $avatar_usuario = remplacetas('form_datos','control',"$control_servicio[0]","contenido","id_campo = '$login_campo_avatar'") ; if($tipo =="todo") { if($row[tipo] =="Mensaje"){ $alerta='default'; } elseif($row[tipo] =="Si"){ $alerta='success'; } elseif($row[tipo] =="No"){ $alerta='warning'; } elseif($row[tipo] =="Comentar"){ $alerta='info'; } else{ $alerta=''; } } $listado .= " <li class='list-group-item' > <blockquote class='text-$alerta'> <p>".strip_tags($row['mensaje'])."</p> <footer>$usuario[0] $row[timestamp] </footer> </blockquote> </li>"; } $resultado= " <div style='clear: both'></div> <div class='mostrar_interacciones panel panel-default' > <div class='panel-heading'> <legend>Interacciones</legend> </div> <ul class='list-group'> $listado </ul> </div>"; } $respuesta = new xajaxResponse('utf-8'); $respuesta->addAssign("$div","innerHTML","$resultado"); return $respuesta; } $xajax->registerFunction("XXX"); function cmp($a, $b) {//Ordenar los numeros descendientemente if ($a == $b) return 0; return ($a < $b) ? 1 : -1; } function holamundo($div) { if($div ==""){ return "Hola mundo";} $respuesta = new xajaxResponse('utf-8'); //$respuesta->addAssign("mensaje_$control","innerHTML",""); $respuesta->addAlert("Hola mundo!"); return $respuesta; } $xajax->registerFunction("holamundo"); ?>