tupali_fork/milfs/funciones/funciones.php
2017-02-11 21:09:46 -05:00

14063 lines
528 KiB
PHP

<?php
date_default_timezone_set('America/Bogota');
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 id='formulario_filtro_$formulario' name ='formulario_filtro_$formulario' >
$filtro
</form>";
}
return $filtro;
}
function formulario_tabla_temporal($id){
$lineas="";
$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);
$div="div_manejo_$etiqueta";if($accion=='') {
if($_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){
$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 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>";
}
$datos= json_encode($dato);
$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 class='' style='width:200px;' id='grafica_$tipo_$id_campo' ></div>
$manejo_grafica
</div>
<script>
new Morris.Bar({
// ID of the element in which to draw the chart.
element: 'grafica_$tipo_$id_campo',
// Chart data records -- each entry in this array corresponds to a point on
// the chart.
data: $datos,
// The name of the data record attribute that contains x-values.
xkey: 'contenido',
// A list of names of data record attributes that contain y-values.
ykeys: ['cantidad'],
// Labels for the ykeys -- will be displayed when you hover over the
// chart.
labels: ['contenido']
});
</script>
";
}
return $grafica;
}
function formulario_acciones($id) {
// $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= "<a class='btn btn-info ' target='mapa' href='mapero.php?id=$id' target='mapa'>Mapa</a>
<a class='btn btn-info ' target='mapa' href='milfs/json.php?id=$id' target='mapa'>{GEOJson}</a>
";}else {$mapa='';}
$acciones="<div class='btn-group' role='group' aria-label='...'>
<a class='btn btn-info ' target='api' href='$_SESSION[site]/milfs/api.php?id=$id'> {json}</a>
<a class='btn btn-info ' target='api' href='$_SESSION[site]/milfs/api.php?id=$id&tipo=simple'> {json simple}</a>
$mapa
<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?registros=10'>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]/opendata.php?tipo=svg&id=$id'>SVG</a>
$buscador
</div>";
return $acciones;
}
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";}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');
}
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>";
}
}
/*$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='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='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'>
<button class='btn btn-default 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</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 = $consulta;}
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)."%%'";}
$consulta ="SELECT distinct(contenido) FROM form_datos WHERE form_id = '".mysqli_real_escape_string($link,$id)."' AND id_campo = '".mysqli_real_escape_string($link,$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>";
}
}
$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 = 15;
$tiempo= ($cantidad_mensajes * $delay);
$tiempo = conversorSegundosHoras($tiempo);
$formato ="
<div class='container' id='div_formato'>
<form 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>
<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>Espere $tiempo aproximadamente </small></h2><h1>No cierre esta ventana hasta que termine</h1> </div> ','div_formato');xajax_mailer('enviar',xajax.getFormValues('formato_mensaje'),'',''); \">Enviar</div>
<div class='btn btn-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'];
$campo_nombre = $formulario['nombre'];
$id_empresa = $formulario['empresa'];
$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.id_empresa = '".mysqli_real_escape_string($link,$id_empresa)."'
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]";
$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","");
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-utf-8\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";
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' ") ;
if($resaltado[0] !="") {
$resaltado = mostrar_identificador("$resaltado[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="";
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 mostrar_areas ( $control // $identificador_original ( $id_empresa != $empresa_seguridad[0] ) AND $sigue_restringido )</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=''> <p>$row[consulta_area_nombre]</p >";
$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_$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 ") ;
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='width:100%' class='img img-responsive' 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]=='10'){
$render = relacion_render("$row[form_id]","$row[id_campo]",$contenido[0],'5','');
$contenido = "$valor_actual";}
else {$render=html_entity_decode($contenido[0]);}
$json_array[$row[campo_nombre]."_titulo"] = "$contenido[0]";
//imprimir_buscador_campo($id_campo,$valor)
$listado_atenciones .= "<tr >
<td align='right' width='25%' title=' ($row[id_campo]) ".$row['campo_descripcion']." '><b> ".$row['campo_nombre'].": </b> </td>
<td style=' word-wrap: break-word;'valign='top'>$imagen <p style=' word-wrap: break-word;'> $render</p> </td>
</tr>";
}else { $listado_atenciones .= "";}
}/// fin d el array para datos de la consulta
$listado_atenciones = "<div class=''>$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</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>
<h2>Gestión de usuarios</h2>
$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="<div id='div_cambiar_empresa'></div>
<select onChange=\"xajax_cambiar_empresa('$id_usuario',(this.value)); \" class='form-control ' id='cambiar_empresa' class='form_control'>$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){
$resultado = "";
$listado = "";
$registros='10';
if($empresa=="" AND $_SESSION['id'] !="") { $w_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> Nueva entrada</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'],'');
$boton="
<div style='max-width:800px;' class='container-fluid'>
$cambiar_empresa
<div class='btn-group form-inline' role='group' aria-label='botonera-administracion'>
<div onclick=\"xajax_panel_aplicaciones('$tipo','$empresa','div_panel_aplicaciones'); \" class='btn btn-default btn-xs'>Editor</div>
<a href='milfs/' class='btn btn-default btn-xs'>Des-administrador</a>
<a class='btn btn-default btn-xs' onclick=\"xajax_cerrar_sesion(); \"> $_SESSION[username] Salir <i class='glyphicon glyphicon-log-out '></i></a>
</div>
</div>
<div class='container-fluid' id='div_panel_aplicaciones' 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";
$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> CREA TU APLICACIÓN EN 3 PASOS</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 = '1' 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>";
}
$respuesta = new xajaxResponse('utf-8');
$respuesta->addAssign("$div","innerHTML","$resultado");
return $respuesta;
}
$xajax->registerFunction("mostrar_interacciones");
function contar_interacciones($identificador,$tipo,$usuario){
$resultado ="";
$consulta = "SELECT distinct(id) as cantidad FROM form_interacciones WHERE identificador = '$identificador' AND tipo= '$tipo' ";
$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) {
$revisar_interacciones="";
$respuesta = new xajaxResponse('utf-8');
$empresa = remplacetas("form_datos","control","$identificador","id_empresa","");
$id_formulario = remplacetas("form_datos","control","$identificador","form_id","");
$id_form = $id_formulario[0];
$id_empresa = $empresa[0];
if(is_array($identificador)) {
$identificador_array= $identificador;
$tipo=$identificador['tipo'];
$mensaje=$identificador['texto_interaccion'];
$nuevo_identificador=$identificador['identificador'];
$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);
$consulta="INSERT INTO form_interacciones SET mensaje='".mysqli_real_escape_string($link,$mensaje)."' ,estado='0' ,identificador='$nuevo_identificador', tipo='$tipo',ip=$graba_ip,usuario='$_SESSION[control_usuario_milfs]' ";
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","$_SESSION[control_usuario_milfs]");
$resultado="<div class='alert alert-success'><h2>El mensaje se ha enviado, si es necesario nos comunicaremos contigo</h2>$exito</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>$consulta</h2></div>";
}
$respuesta->addAssign("muestra_form","innerHTML","$resultado");
$respuesta->addAssign("myModalLabel_info","innerHTML","<h2>$accion</h2>");
return $respuesta;
}
if($accion =="") {
$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 class='btn btn-success' onclick=\"xajax_mostrar_interacciones('$identificador','todo','','mostrar_interacciones_$identificador');\">Mostrar Todo</div>";
}
else {$revisar_interacciones="";}
}
$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>
<div id='mostrar_interacciones_$identificador'></div>
";
return $menu;
}
/*
elseif($accion=="Si") { }
elseif($accion=="No") { }
elseif($accion=="Compartir") { }
*/
else {
if(isset($_SESSION['usuario_milfs']) ) {
$formato="
<div class='barra_interaccion'>
<form 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{
require ("milfs/includes/parametrizacion.php");
/// SI EL USUARIO NO ESTA LOGUEADO
$login = milfs_session("$login_formulario","$login_campo_usuario","$login_campo_password","","");
$formato ="
<div class='alert alert-success'><h2>Por favor ingresa para <b>$accion</b></h2>
$login
</div>";
}
}
//$div_contenido = "<div id='$div'>$div</div>";
$respuesta->addAssign("muestra_form","innerHTML","$formato");
$respuesta->addAssign("myModalLabel_info","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')");
return $respuesta;
}
$xajax->registerFunction("interaccion_identificador");
function eliminar_identificador($identificador,$accion) {
$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'); \" 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' ";
$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-primary' 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";
$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-primary' 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) {
$resultado= "";
$contenido= "";
if($divider =="" ) { $divider =4;}
$cols = (12/$divider);
$titulo[]="";
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' 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' 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'>
<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='fh5co-meta'><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 ) ) {
//$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'>
<figure>
<a href='I$row[control]'>
<img style=' max-height:320px;' class=' img-responsive img-rounded' src ='milfs/images/secure/?file=300/$imagen[0]'>
</a>
</figure>
<span class='fh5co-meta'><a href='I$row[control]'>$titulo_post[0] </a></span>
<h4 style='word-wrap: break-word; ' class='fh5co-article-title'><a href='I$row[control]'>$row[nombre]</a></h4>
</article>
";
}
$resultado = "
<legend class='text-center'>$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['id'] = "$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{}
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) {
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
";
$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 ) ) {
$respuesta = mostrar_identificador("$identificador","$row[form_id]","respuesta","simple","$row[timestamp]");
$fecha = date($format, $row['timestamp']);
$resultado .= "<!-- ($identificador','$row[form_id]','','simple//$plantilla','$row[timestamp]') --> $respuesta ";
}
$resultado .="";
}else{$resultado ="";}
$resultado = "$resultado $formulario_respuesta";
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 ) ) {
$resultado .= "<div class='respuesta_linea'><a class='btn btn-success' onclick = \"xajax_formulario_embebido_ajax('$row[id]','$identificador','respuesta') \" title='$row[descripcion]'>$row[nombre]</a> $row[descripcion] </div>";
}
$resultado .="</div>";
}else{$resultado ="";}
return $resultado;
}
function consultar_contenido_formulario($form,$registros,$pagina,$tipo,$orden,$plantilla){
if($plantilla=="") { $plantilla="landingpage";}
$imagen ="";
$acciones ="";
$filtro ="";
$filtro_generico ="";
$origen ="";
$busca ="";
$agregar ="";
$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];
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'
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' 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&registros=$registros&pagina=1&orden=$orden";
$href_2 = "$origen&registros=$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&registros=$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&registros=$registros&pagina=".($pagina+1)."&orden=$orden";
$href_5 = "$origen&registros=$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",'');
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]";
}
$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',"") ;
if($publico[0] !="0" OR @$_SESSION[id] !="") {
$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-sm-2 col-md-2' >
</div>
<div class='col-sm-2 col-md-2' >
$agregar
</div>
<div class='col-sm-4 col-md-4' >
$filtro
$filtro_drop
</div>
<div class='col-sm-4 col-md-4' >
$buscador
</div>
<div class='row'>
<div class='col-md-12'>
$filtro_generico
$formulario_tabla_temporal
</div>
</div>
</div>
<br>";
}
$descripcion = remplacetas('form_id','id',$id_form,'descripcion','') ;
//$descripcion_limpia = strip_tags($descripcion[0]);
$nombre = remplacetas('form_id','id',$id_form,'nombre','') ;
$resultado = "
<a name='cabecera'></a>
<h1><a href='b$id_form'>$nombre[0]</a></h1>
<h2>$descripcion[0]</h2>
$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=''>Aún no hay resultados</h1> $consulta_limite </div>";
if($tipo =="contenido" OR $tipo =="embebido" ) {
return $resultado;
}
$respuesta->addAlert("No hay resultados");
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;
}
else {}
}
$xajax->registerFunction("consultar_contenido_formulario");
function multiempresa_listado($tabla,$div){
$resultado = "";
$encontrados = "";
$link=Conectarse();
mysqli_set_charset($link, "utf8");
$consulta = "SELECT * 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=4;
$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=''>";
}
$i++;
if($row['imagen'] !="") {
$logo="<img style= 'max-height:150px;max-width:400px;' class='img img-responsive img-rounded center-block' src='milfs/images/secure/?file=150/$row[imagen]'>";
}
else {
$logo_empresa = remplacetas('empresa','id',"1",'imagen','');
$logo="<img style= 'height:150px;' class='img img-responsive img-rounded center-block' src='milfs/images/sinimagen.jpg'>";
}
// $slogan= substr($row[slogan],0, $length = 100)."";
$slogan = $row['slogan'];
$contenido ="
<article class='col-lg-$cols col-md-$cols col-sm-$cols col-xs-6 col-xxs-12 animate-box'>
<div style=' height:300px; overflow:auto;' class='thumbnail'>
<div style=' height:200px;'>
<h4 class='fh5co-article-title text-center '>$row[razon_social]</h4>
<figure>
<a href='e$row[id_empresa]'> $logo </a>
</figure>
</div>
<span class='fh5co-meta '><a class='text-center' href='e$row[id_empresa]'>$slogan</a></span>
</div>
</article>";
$encontrados .="$contenido";
$fila++;
if( $i % $divider==0) {
$encontrados .= "</div> ";
}
}
$resultado ="
<legend class='text-center'>PROYECTOS</legend>
$encontrados
";
}else{
$resultado = "<div class='alert alert-warning alert_sin_resultados'><i class='glyphicon glyphicon-exclamation-triangle'></i> No hay resultados</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");
//($control,$form,$plantilla,$tipo)
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;
$plantilla = remplacetas('form_parametrizacion','opcion',"plantilla:$plantilla",'id',"campo = '$formulario_identificador[0]'") ;
$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>";
}
//<img class='img-responsive img-rounded ' src='milfs/images/secure/?file=600/$imagen' alt=''>
//$impresion = contenido_mostrar("","$row[control]",'',"landingpage");
if($plantilla[0] !="" ) {
$impresion = mostrar_identificador($identificador_original,"","$plantilla_original","","");
} else{
$contenido = mostrar_areas("$identificador_original","","");
//$contenido = mostrar_identificador($identificador_original,"","","","");
$impresion = "
<!-- Exportado desde Tupale.co -->
<!-- plantilla landingpage $identificador -->
<span class='fh5co-meta animate-box'>$identificador_original </span>
<a name='control_$identificador'></a>
<div class='container'>
<div class='col-lg-12 col-md-12 cp-l animate-box text-left'>
$contenido
</div>
<div class='link-compartir text-center animate-box '><a href='I$identificador' ><i class='glyphicon glyphicon-share-square'></i> Compartir </a></div>
</div>
<!-- plantilla landingpage -->
";
}
if(!isset($_SESSION['id_empresa'])){
$edicion ="<a href='d$identificador' target='editar'><i class='glyphicon glyphicon-pencil-square-o'></i> Editar</a>";
// $edicion ="<a class='btn btn-default btn-xs' onclick= \"xajax_formulario_embebido_ajax('$form','$identificador','edit') \"><i class='glyphicon glyphicon-pencil-square-o'></i> Editar</a>";
}else {$edicion="";}
$documento="<div id='gen_documento'><a href='opendata.php?tipo=documento&identificador=$identificador'>Generar documento</a></div>";
if($plantilla_original=="svg") { return $impresion;}else{
$linea = "
$manejadores
<div class='mostrar_identificador_full'>
$documento
$impresion
$edicion
<!-- formulario de respuesta -->
<div id='formulario_respuesta_$identificador' class='formulario_respuesta ' style=''>
$respuestas
</div>
<!-- formulario de respuesta -->
</div>
";
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 publico ='1' AND 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'") ;
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=' imagen_presentacion img-responsive img-rounded' style='width:100%' src='https://api.tiles.mapbox.com/v4/examples.map-zr0njcqy/url-".$url_pin."($lat,$lon,$zoom)/$lat,$lon,$zoom/600x200.png?access_token=$mapbox_token' >
<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='';}
$descripcion_limpia = strip_tags($row['descripcion']);
if($imagen !="") {
$imagen ="
<figure>
<a href='b$row[id]?registros=10'>
<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='b$row[id]?registros=10'>$row[nombre] <i class='glyphicon glyphicon-external-link-square'></i></a></h2>
$imagen
<p class='descripcion_formulario text-left'>$descripcion_limpia </p>";
// if ( $fila%2==0){
if($llenar[0] !="0") {$boton_agregar =" <div class='btn btn-default btn-block ' 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='btn btn-default btn-block ' href= 'opendata.php?id=$row[id]'> <i class='glyphicon glyphicons-charts'></i> Ver datos</a>";}
else{$boton_ver_data = "";}
if($mostrar[0] !="0") {
$linea .= "
<div style=' ' class=' articulo_cuadro col-md-4' id='b_articulo_formulario_$row[id]'>
<div style='height:500px; overflow-y:auto; overflow-x:hidden; padding:10px;' class=' thumbnail ' id='b_articulo_formulario_$row[id]'>
<a name='formulario_$row[id]'></a>
<div class='row rp-b '>
<div class='articulo_contenido col-md-12 animate-box'>
<p>$contenido</p>
</div>
</div>
<div class='row'>
<div class='col-md-12 animate-box'>
$mapa
</div>
</div>
$boton_agregar $boton_ver_data
</div>
</div>
";
}else {$linea .="";}
/*
}else{
$linea .= "
<a name='formulario_$row[id]'></a>
<div class='articulo_cuadro col-md-12' id='a_articulo_formulario_$row[id]'>
<div class='row rp-b'>
<div class='col-lg-4 col-md-12 animate-box'>
<br>
<figure>
<a href='b$row[id]?registros=10'>
$imagen
</a>
<figcaption>$row[nombre]</figcaption>
</figure>
$link
</div>
<div class='col-lg-8 col-md-12 cp-l animate-box'>
<p>$contenido</p>
</div>
</div>
<div class='row'>
<div class='col-md-12 animate-box'>
$mapa
</div>
</div>
</div>
<div class='clearfix visible-lg-block visible-md-block visible-sm-block visible-xs-block animate-box'><hr></div>
";
}
*/
//$linea .= "$fila $plantilla<h1>$row[nombre]</h1>";
$fila++;
}
}
$linea ="
<div class='container-fluid' 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_tabla($filtro,$div,$limite,$inicio) {
if($limite =="") {$limite= 100;}
if($inicio =="") {$inicio= 0;}
$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 GROUP BY id_campo ORDER BY campo_area, 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 ORDER BY campo_area, 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";
$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',''); \">
<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>
";
$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='success';
}else {
$class='';
$accion ="";
}
if($_SESSION['id'] == $row['id_especialista']) {
$row['id_especialista'] = "<i class='glyphicon glyphicon-heart'></i> $row[id_especialista]";
}
$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><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'); \"><<< ANTERIORES</a>
Mostrando $cantidad_mostrada de $cantidad_total
<a onclick = \" xajax_campos_tabla('$filtro','div_tabla_campos','$limite','$fin'); \">SIGUIENTES >>></a>
</legend>
<table class='table table-condensed 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><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){
$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){
$resultado[] = mysqli_result($sql,0,$por);
$resultado[] = mysqli_result($sql,0,"$campo");
$resultado[] = $consulta;
$resultado[] = 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";
$data = file_get_contents("$json");
$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";
$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 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</div>";
}
$resultado .= "
</table>
<legend>Agregar empresa</legend>
<div class='row'>
<form role='form' id='agregar' 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 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 .= " $consulta";
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){
$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;
}
// AND form_datos.id_empresa = '$id_empresa'
$consulta_principal = "SELECT control,id,form_id 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 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 <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>$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]");
$listado_campos = listar_campos_formulario("$id_form",'');
foreach($listado_campos as $campo=>$valor){
//$imagen = buscar_imagen($if_form,$row['control'],"","");
$contenido = remplacetas('form_datos','control',$row['control'],'contenido',"id_campo ='$valor' ") ;
$id_dato = remplacetas('form_datos','control',$row['control'],'id',"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>";
}
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>";
}
// if($tipo_campo[0] =="29" ) {$contenido[0] ="<img class='img img-responsive' src='$contenido[0]'> "; }//$contenido="<img class='img img-responsive' src='$contenido'>";
else {
@$listado_campos .= "<td title='$tipo_campo[0]' >$contenido[0]</td>";
}
}
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]',''); \" 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 table-responsive' >
<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</h1> </div>";
$respuesta->addAlert("No hay resultados ");
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) {
$link=Conectarse();
mysqli_set_charset($link, "utf8");
$consulta ="SELECT * FROM form_datos WHERE control = '$identificador'
GROUP BY id_campo ORDER BY timestamp DESC ";
$sql = mysqli_query($link,$consulta) or die("Error al ejecutar consulta 02 ");
$array = array();
$array["identificador"] = "$identificador";
while($row = mysqli_fetch_array( $sql ))
{
//$contenido = remplacetas('form_datos','id',$row[id],'contenido',"") ;
$id_campo = remplacetas('form_datos','id',$row["id"],'id_campo',"") ;
$campo_tipo = remplacetas("form_campos","id",$row["id_campo"],"campo_tipo","");
$contenido = remplacetas_orden('form_datos','id_campo',$row["id_campo"],'contenido'," control = '$identificador'"," ORDER BY timestamp DESC ") ;
if($campo_tipo[0]=='10'){
$valor_actual = relacion_render($row["form_id"],$row["id_campo"],$contenido[0],'5','relacion_drop');
$contenido[0] = "$valor_actual";}
else{
}
$nombre_campo = remplacetas('form_campos','id',$id_campo[0],'campo_nombre',"") ;
//$array[id_campo] = $row[id_campo];
//// 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') {
$array[$nombre_campo[0]] = "$contenido[0]";
//$array['consulta'] = "$contenido[2]";
$array['timestamp'] = "$row[timestamp]";
$array['proceso'] = "$row[proceso]";
$array['id'] = "$row[id]";
$array['orden'] = "$row[orden]";
//$array[] = $row;
}
}
return $array;
}
function parametrizacion_linea($tabla,$campo,$opcion,$descripcion,$div,$script,$item){
if(isset($_SESSION['id_empresa']) ){$id_empresa= $_SESSION['id_empresa']; }else{ return;//$id_empresa="";
}
$respuesta = new xajaxResponse('utf-8');
if($tabla =="") {
$resultado = "
<div id='resultado_parametrizacion'></div>
<form id='otra_parametrizacion'>
<fieldset>
<legend>Hiperparametrizador <span class='badge'>Experimental</span></legend>
<div class='row'>
<div class='col-sm-4'>
<div class='input-group class='has-error''>
<label for='tabla'>Tabla</label>
<input class='form-control' id='tabla' name='tabla'>
<small class='text-danger'> *Campo obligatorio</small>
</div>
</div>
<div class='col-sm-4'>
<div class='form-group'>
<label for='campo'>Campo</label>
<input class='form-control' id='campo' name='campo'>
</div>
</div>
<div class='col-sm-4'>
<div class='form-group'>
<label for='opcion'>Opción</label>
<input class='form-control' id='opcion' name='opcion'>
</div>
</div>
</div>
<div class='form-group'>
<label for='descripcion'>Descripción</label>
<textarea class='form-control' id='descripcion' name='descripcion'></textarea>
</div>
<div class='form-group'>
<div class='input-group-btn'>
<div class='btn btn-default btn-warning pull-right' onclick=\"xajax_parametrizacion_linea(document.getElementById('tabla').value,document.getElementById('campo').value,document.getElementById('opcion').value,document.getElementById('descripcion').value,'resultado_parametrizacion','',''); \"><i class='glyphicon glyphicon-floppy-disk'></i> Grabar</div>
</div>
</div>
</fieldset>
</form>
";
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 {
//$respuesta->addAlert("$consulta");
}
///$respuesta->addAssign("$div","innerHTML",$exito);
return $respuesta;
}
$xajax->registerFunction("parametrizacion_linea");
/*
function parametrizacion_linea($tabla,$campo,$opcion,$descripcion,$div){
$respuesta = new xajaxResponse('utf-8');
if($tabla =="") {
$resultado = "
<div id='resultado_parametrizacion'></div>
<form id='otra_parametrizacion'>
<fieldset>
<legend>Hiperparametrizador <span class='badge'>Experimental</span></legend>
<div class='row'>
<div class='col-sm-4'>
<div class='input-group class='has-error''>
<label for='tabla'>Tabla</label>
<input class='form-control' id='tabla' name='tabla'>
<small class='text-danger'> *Campo obligatorio</small>
</div>
</div>
<div class='col-sm-4'>
<div class='form-group'>
<label for='campo'>Campo</label>
<input class='form-control' id='campo' name='campo'>
</div>
</div>
<div class='col-sm-4'>
<div class='form-group'>
<label for='opcion'>Opción</label>
<input class='form-control' id='opcion' name='opcion'>
</div>
</div>
</div>
<div class='form-group'>
<label for='descripcion'>Descripción</label>
<textarea class='form-control' id='descripcion' name='descripcion'></textarea>
</div>
<div class='form-group'>
<div class='input-group-btn'>
<div class='btn btn-default btn-warning pull-right' onclick=\"xajax_parametrizacion_linea(document.getElementById('tabla').value,document.getElementById('campo').value,document.getElementById('opcion').value,document.getElementById('descripcion').value,'resultado_parametrizacion'); \"><i class='glyphicon glyphicon-floppy-disk'></i> Grabar</div>
</div>
</div>
</fieldset>
</form>
";
return $resultado;
}
$link=Conectarse();
mysqli_set_charset($link, "utf8");
$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 = '$_SESSION[id_empresa]' 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)."', visible='1' , id_empresa = '$_SESSION[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($div != "") {
$resultado = " $opcion : $descripcion ".time()." $id";
$respuesta->addAssign("$div","innerHTML",$resultado);
return $respuesta;
}else {
return $id;
}
}else {
//$respuesta->addAlert("$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","$id_empresa","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=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: $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";}
$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='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_categorias($perfil,$categoria,$tipo) {
$link=Conectarse();
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];
if($categoria_campo >0 ) {
$consulta = "
SELECT md5(binary contenido) as md5_contenido, contenido 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'){
$resultado = "<div class='' style='vertical-align: top; text-align:center;'>";
while( $row = mysqli_fetch_array( $sql ) ) {
$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= substr($row[contenido],0, $length = 15);
$resultado .= "<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 .= " </div >";
}
else{$resultado = '';}
}
return $resultado;
}
function parametrizacion_categoria($perfil,$accion,$div,$form){
$respuesta = new xajaxResponse('utf-8');
$nombre = remplacetas('form_id','id',$perfil,'nombre') ;
$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>
$categorias
<form 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-default btn-block' onclick=\"xajax_parametrizacion_categoria('$perfil','grabar','$div',xajax.getFormValues('form_parametrizacion_categoria')) \" >Grabar</div>
</form>
";
$respuesta->addAssign($div,"innerHTML",$resultado);
$respuesta -> addScript("xajax_formulario_campos_select('$perfil','parametrizacion')");
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];
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>
</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]]
*/
$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>
</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($valores =="boton") {
$consulta ="SELECT * FROM form_parametrizacion WHERE campo = '$formulario' AND `opcion` REGEXP '^plantilla:' 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];
$listado .= "<option value='$row[id]'>$row[opcion]</option>";
$li .= "<tr>
<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> Editar</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>
</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 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)\" > &lt;li&gt;</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' ";
$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_titulo($formulario,$div,$valores) {
$campo_titulo = remplacetas('form_parametrizacion','campo',$formulario,'descripcion'," tabla='form_id' and opcion = 'titulo'") ;
$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',"") ;
$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>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'>Seleccione campo</span>
<select class='form-control' id='seleccion_campo' name='seleccion_campo' onchange=\"\">
<option value=''>Borrar el valor actual</option>
$listado
</select>
</div>
<br>
<div class=' btn btn-success ' onclick=\"xajax_parametrizacion_linea('form_id','$formulario','titulo',document.getElementById('seleccion_campo').value,'div_seleccion_titulo'); \">
<i class='glyphicon glyphicon-floppy-disk'></i>
Usar como Título
</div>
<div class=' btn btn-success ' onclick=\"xajax_parametrizacion_linea('form_id','$formulario','orden',document.getElementById('seleccion_campo').value,'div_seleccion_titulo'); \">
<i class='glyphicon glyphicon-floppy-disk'></i>
Usar como Orden
</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',"") ;
$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;
}
$respuesta->addAssign("$div","innerHTML","$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 portal_listado_campos</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 ) ) {
//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') {
$estadisticas = formulario_estadistica("$formulario","$row[id_campo]","contenido","barras");
$listado .= "<tr> <td>$row[id_campo]</td><td>$row[campo_nombre]</td><td>$row[campo_descripcion]</td><td>$estadisticas</td></tr>";
}else {$listado.="";}
}
$resultado = "
<table class='table table-condensed table-striped table-bordered table-hover'>
<tr> <th>Id</th><th>Nombre campo</th><th>Descripcion</th></tr>
$listado
</table>
";
}
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){
$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 ( orden, timestamp,id_usuario,id_empresa,form_id,ip,control,id_campo,contenido) VALUES
( '$orden',UNIX_TIMESTAMP(),'$_SESSION[id]','$empresa','$key',$ip ,'$control', '$campo' , '$valor')
";
}
mysqli_real_escape_string($link,$consulta);
$link=Conectarse();
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";
if($form != "") {$id_form = "$form";
$datos_form ="
<h2>$nombre[0]</h2>
<legend>$descripcion[0]</legend>
";
}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",'');
if($plantilla == "svg") { return $impresion;}
if($tipo=="") {
$resultado = "
<div id ='mostrar_identificador_$control' class='mostrar_identificador '>
$visitas
$datos_form
<!-- formulario_imprimir() -->
$impresion
<!-- formulario_imprimir() -->
$interaccion
$edicion
</div>
"; }else {
$resultado = "$impresion";
}
}else{
$resultado ="<div class='container alert alert-warning alert_sin_resultados'><h1>No hay resultados</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 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 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 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","$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","");
$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="Validado $email";
}
else{
$resultado="<div class='alert alert-danger'>El codigo no es valido, inténtalo de nuevo</div>";
}
$respuesta->addAssign("$div","innerHTML",$resultado);
return $respuesta;
}
else {}
if($validado[0] != md5("$email[0]")) {
$verificar_email = "
<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 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>
</form>
</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){
$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 {
if($_SERVER['HTTP_HOST'] !="tupale.co" ) {
$social_login="";
$cols="12";
}
else {
$cols="10";
$social_login="
<div class='col-md-2'>
<legend>
Ingresa con:
</legend>
<div class='list-group'>
<a class=' list-group-item btn btn-default ' href='sociallogin.php?provider=twitter'>Twitter <i class='glyphicon glyphicon-twitter'></i></a>
<a class=' list-group-item btn btn-default ' href='sociallogin.php?provider=facebook'>Facebook <i class='glyphicon glyphicon-facebook'></i></a>
</div>
</div>
";
//return $formulario;
}
$formulario ="
$accion
<div class='row' id='formulario_session'>
<div class='col-md-$cols'>
<form class='form-horizontal ' 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-sm-4'>
<div class='btn btn-default ' onclick =\"xajax_milfs_session('$form_id','$campo_usuario','$campo_password','recuperar','') \">Recuperar</div>
</div>
<div class='col-sm-4'>
<div class='btn btn-default ' onclick =\"xajax_milfs_session('$form_id','$campo_usuario','$campo_password','registrarse','') \">Registrarse</div>
</div>
<div class='col-sm-4'>
<div class='btn btn-block btn-success ' onclick =\"xajax_milfs_session('$form_id','$campo_usuario','$campo_password','ingreso',xajax.getFormValues('login_milfs')) \">ingresar</div>
</div>
</div>
</form>
</div>
$social_login
<div id='resultado'></div>
</div>
";
$respuesta->addAssign("formulario_login","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("formulario_session","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')); \" >
Registrarse</button>
";
$control = md5(rand(1,99999999).microtime());
$formulario ="
<form 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>
";
$respuesta->addAssign("formulario_session","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')); \" >Solicitar clave</div>
";
$control = md5(rand(1,99999999).microtime());
$formulario ="
<form 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 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("formulario_session","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("formulario_session","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("formulario_session","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 $usuario[0] === $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['id'] = $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("resultado","innerHTML",$resultado);
return $respuesta;
}
$respuesta->addAssign("formulario_session","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","","");
$resultado ="<div class='alert alert-success'>Gracias por registrarse, por favor ingrese con los nuevos datos. </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, por favor ingrese con los nuevos datos. </div>";
$respuesta->addAssign("formulario_session","innerHTML","$resultado");
return $respuesta;
}
elseif ($tipo=='boton'){
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 = "
<i>
<img style='width:40px;' class='img img-circle' src='$avatar'> $_SESSION[nombre_usuario_milfs]
</i> $validar_email
<a class=' btn ' onclick=\"xajax_milfs_session('','','','salir') \"><i class='glyphicon glyphicon-log-out'></i> SALIR </a>
";
}else{
$formulario ="
<div class=' btn btn-default btn-xs' onclick=\"xajax_milfs_session('$login_formulario','$login_campo_usuario','$login_campo_password','','');\">Login</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*') {
$resultado="
<div class='input-group'>
<input placeholder='Escribe para buscar' class='form-control' id='valor' name= 'valor'>
<span class='input-group-btn'>
<div class='btn btn-default' onclick =\"xajax_buscar_datos((document.getElementById('valor').value),'$id_form','$plantilla','$div'); \"> Buscar</div>
</span>
</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) {
$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 .= "($row[multiple] $row[id_campo])".formulario_campos_render_multiple($row['id_campo'],$perfil,$control_edit);
}else{
$campos .= "".formulario_campos_render($row['id_campo'],$perfil,$control_edit,'','');
//$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($perfil,$tipo,$form_respuesta,$control_respuesta){
$id="";
$resultado_campos ="";
$subir_imagen ="";
$campo_imagen_nombre ="";
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 * FROM form_areas, form_campos, `form_contenido_campos`
WHERE form_campos.id = form_contenido_campos.id_campo
AND form_contenido_campos.id_form = '$perfil'
AND form_areas.id = form_campos.campo_area AND form_areas.id_empresa = '$id_empresa'
OR (form_contenido_campos.id_form = '$perfil' AND form_campos.campo_area ='0' )
AND form_areas.estado = '1' GROUP BY form_areas.id ORDER BY form_areas.orden";
*/
$consulta= "SELECT * FROM form_campos, `form_contenido_campos`
WHERE form_campos.id = form_contenido_campos.id_campo
AND form_contenido_campos.id_form = '$perfil'
GROUP BY form_campos.campo_area
";
$link=Conectarse();
mysqli_set_charset($link, "utf8");
$sql=mysqli_query($link,$consulta);
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[site]/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 ($campo_imagen[0] != "") {
$subir_imagen = subir_imagen("$perfil","$campo_imagen"."[0]");
if($tipo != "campos") {
$imagen = "
<div class='form-group' id='input_".$campo_imagen."[0]' >
<label for='UploadFile'>$campo_imagen_nombre</label>
<div class='col-lg-12'>
$subir_imagen
</div>
</div>
";
}else {$imagen =" ";}
}
$muestra_form = "
<div id ='div_$control' >
<div class=''>
<div class='form-group' id='input_".$campo_imagen."[0]' >
<label for='UploadFile'>".$campo_imagen_nombre."</label>
<div class='col-lg-12'>
$subir_imagen
</div>
</div>
</div>
<form role='form' id='$control' name='$control' class='form-horizontal' >
<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' >
";
if($tipo=="edit") {$control_edit = "$control";}else {$control_edit = "";}
////fin encabezado form
$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");
$resultado_campos .= "
<fieldset class='fieldset-borde ' id ='fieldset_$area_nombre'>
<legend class='legend-area' id ='legend_$area_nombre'>$area_nombre</legend>
$campos
</fieldset>";
}
//// botonera form
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 ="";}
$muestra_form .="$resultado_campos <br><div class='row' id='respuesta_$control' name='respuesta_$control' ></div>
$continuar_editando
<div class='row'>
<div class='col-xs-6'>
<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-6'>
<div onclick=\" xajax_limpia_div('muestra_form');\" data-dismiss='modal' class='btn btn-block btn-danger'>Cancelar</div>
</div>
</div>
";
//// fin botonera form
}
//// cierre form
$muestra_form .="
</form>
</div>";
if($tipo=='campos') {
$resultado = "$resultado_campos $imagen ";
return $resultado;
}
if($tipo=='embebido') {
$resultado = "
$muestra_form
<span>Poweredy by <a href='https://github.com/humano/milfs' target='milfs'>MILFS</a></span>
<a href='milfs/?psi' target='_psi'><i class='glyphicon glyphicon-smile-o '></i> Políticas de privacidad y protección de datos.</a>
";
return $resultado;
}
$resultado = "
$cabecera
$muestra_form
<span>Poweredy by <a href='https://github.com/humano/milfs' target='milfs'>MILFS</a></span>
<a href='?psi' target='_psi'><i class='glyphicon glyphicon-smile-o '></i> Políticas de privacidad y protección de datos.</a>
";
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' 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' >
<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</div>";
}
$resultado .= "
<tr>
<td colspan='4' >
<form 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'>Agregar á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 = '$_SESSION[site]i$valor' target='referencia'>Ver referencia</a> ";
}
}
return " $valor_actual $link";
$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";
}
$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 </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";
$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 = $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];
$where = explode(':',$claves[5]) ;
$where = $where[1];
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> No hay resultados </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 = " xajax_buscador_select('$id_campo','$form_id',(this.value),'$name','$control','$tipo'); 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 id='$div'></div>";
return $resultado;
}
$xajax->registerFunction("buscador_campo");
function imprimir_buscador_campo($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] $campo2[0]";
return $imprimir;
}
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,$tipo){
$div ="div_buscador_$name";
$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 = $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';
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_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{$resultado = "<div class='alert alert-warning alert_sin_resultados'><i class='glyphicon glyphicon-exclamation-triangle'></i> No hay resultados</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 $consulta XXX</div>";}
return $resultado;
}
$xajax->registerFunction("relacion_select");
function combo_select($id_campo,$form_id,$valor,$name,$control,$control_combo){
$selected="";
$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</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($nombre,$id,$plantilla){
if($id =='') {
$id = remplacetas('form_id','nombre',$nombre,'id',"") ;
$id = $id[0];
}
if($nombre =='') {
$nombre = remplacetas('form_id','id',$id,'nombre',"") ;
$nombre = $nombre[0];
}
$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 ="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];
if($orden === 0) {$activo = "active";}else{$activo="";}
$contenido_desplegado = contenido_mostrar("$row[form_id]","$row[control]",'',"$plantilla");
$campo = buscar_campo_tipo($id,"15");
$id_campo = $campo[0];
$imagen = remplacetas('form_datos','control',$row[control],'contenido',"id_campo = '$id_campo'") ;
$items .= " <div class='item $activo'>
<div style='height:100%' class=''>
<!-- <img class='img img-responsive center-block' style='height:100%; display: table; margin: 0 auto;' src='$_SESSION[site]milfs/images/secure/?file=600/$imagen[0]'> -->
$contenido_desplegado
</div>
</div>";
$indicador .= "<li data-target=\"#myCarousel\" data-slide-to='$orden' class='$activo'></li>";
$titulo = remplacetas('form_datos','id',$identificador,'contenido',"") ;
//$contenido .= "$contenido_desplegado ";
$orden = ($orden +1 );
}
$contenido .= "
<!-- Carousel
================================================== -->
<div >
<h3>$nombre[0] <small>$descripcion[0]</small></h3>
</div>
<div id='myCarousel_$id' class='carousel slide' data-ride='carousel'>
<!-- Indicators -->
<ol class='carousel-indicators'>
$indicador
</ol>
<div class='carousel-inner' role='listbox'>
$items
</div>
<a class='left carousel-control' href='#myCarousel_$id' role='button' data-slide='prev'>
<span class='glyphicon glyphicon-chevron-left' aria-hidden='true'></span>
<span class='sr-only'>Previous</span>
</a>
<a class='right carousel-control' href='#myCarousel_$id' role='button' data-slide='next'>
<span class='glyphicon glyphicon-chevron-right' aria-hidden='true'></span>
<span class='sr-only'>Next</span>
</a>
</div>
<!-- /.carousel -->";
//$contenido = " $links <section id=''>$contenido</section>";
}
return $contenido;
}
function formulario_embebido($id){
$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' >
<h4><small><i class='glyphicon glyphicon-eye-open'></i> $visitas</small></h4>
<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($id,$opciones,$tipo){
$respuesta = new xajaxResponse('utf-8');
$publico = remplacetas('form_id','id',"$id",'modificable',"") ;
if($publico[0] =="0" AND $_SESSION[id] =="") {
$resultado = " <div class='alert alert-danger'><h1>NO tiene permiso para usar este formulario <i class='glyphicon glyphicon-key'></i></h1>";
$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;
}
//$impresion = formulario_modal("$id",$form_respuesta,$control,"embebido");
//($perfil,$tipo,$form_respuesta,$control_respuesta)
$id_empresa = remplacetas('form_id','id',$id,'id_empresa',"") ;
$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($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> // $_SESSION[id] != $propietario[0] //</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");
$pie = empresa_datos("$id_empresa",'pie');
$respuesta->addscript("$('#muestraInfo').modal('toggle')");
return $respuesta;
}
if($tipo=="respuesta") { $form_respuesta = "respuesta";}
$impresion = formulario_areas("$id","$tipo","$form_respuesta","$opciones");
$formulario_nombre = remplacetas('form_id','id',$id,'nombre','') ;
$formulario_descripcion = remplacetas('form_id','id',$id,'descripcion','') ;
$visitas= contar_visitas($id,'formulario') ;
$muestra_form = "
<div class='container-fluid' style=' background-color:white; overflow:no;' id='contenedor_datos' >
<h4><small><i class='glyphicon glyphicon-eye-open'></i> $visitas</small></h4>
<!-- formulario_areas -->
$impresion
<!-- formulario_areas -->
</div>
";
// return $muestra_form ;
//$respuesta->addAssign("$div","innerHTML","$resultado");
//$div_contenido = "<div id='$div'>$div</div>";
$respuesta->addAssign("muestra_form","innerHTML","$muestra_form");
//$respuesta->addAssign("titulo_modal","innerHTML","Hola mundo");
//$respuesta->addAssign("pie_modal","innerHTML","$pie");
//$respuesta->addAssign("$div","innerHTML","$resultado");
$respuesta->addscript("$('#muestraInfo').removeClass('fade').modal('hide')");
$respuesta->addscript("$('#muestraInfo').modal('toggle')");
///if($tipo =="edit") {return $muestra_form;}
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){
//print_r($datos); return;
if(!isset ($datos["tipo"] )) { $datos["tipo"]="";}
if ( !isset ( $_SESSION['id_empresa'] ) ) { $publico = "AND form_id.publico = '1' "; $w_publico = "WHERE form_id.publico = '1' "; }
else {
$publico = "AND form_id.id_empresa = '$_SESSION[id_empresa]'";
$w_publico = "WHERE form_id.id_empresa = '$_SESSION[id_empresa]' ";
}
$datos = mysql_seguridad($datos);
$link=Conectarse();
mysqli_set_charset($link, "utf8");
if($datos["id"] !=''){
if($datos["tipo"] =='simple') {
$campos ="control " ;
$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
GROUP BY form_datos.control
ORDER BY form_datos.timestamp DESC";
$sql = mysqli_query($link,$consulta) or die("Error al ejecutar consulta 03 ");
if (mysqli_num_rows($sql)!='0'){
$i = 1;
$features = array();
// $features[] = $consulta;
while($row = mysqli_fetch_array( $sql ))
{
if($datos["tipo"]=="simple"){
$id_campo = @remplacetas('form_datos','id',$row["id_dato"],'id_campo',"") ;
//if($privado != '1') {
//$contenido = remplacetas('form_datos','id',$row[id_dato],'contenido',"") ;
//$contenido = remplacetas_orden('form_datos','id',$row[id_dato],'contenido',""," ORDER BY timestamp DESC ") ;
$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]) ;
//json($nuevos_datos);//" $contenido[0]";//$row[id_campo];
$features[] = datos_array($row["control"]) ;
// $features[consulta] = "$consulta";
//json($nuevos_datos);//" $contenido[0]";//$row[id_campo];
//}//
}
else {
// $features[] = $row;
}
$i++;
}
}
if($datos["tipo"] == "array" ) {
$resultado = $features;
}else {
$resultado = json_encode($features,JSON_NUMERIC_CHECK|JSON_PRETTY_PRINT);
}
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 ";
}
//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
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]' )
$publico
";
}
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
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
";
}
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";
}
$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',"") ;
//// 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',"") ;
$id_campo = remplacetas('form_datos','id',$row["id_dato"],'id_campo',"") ;
$nombre_campo =remplacetas('form_campos','id',$id_campo[0],'campo_nombre',"") ;
$features[] = "$nombre_campo[0] : $contenido[0]";//$row[id_campo];
}
else {
$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);
}
return $resultado;
}
function imprime_geojson($id,$id2,$plantilla,$busqueda){
$id_form = mysql_seguridad($id);
$id_form2 = mysql_seguridad($id2);
$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] !="") {
$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";
}
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[description] ="<div class='container-fluid' id='contenedor_datos' >$formulario</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++;
}
}
//-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);
$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 = "";
$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 ";
//xajax_contenido_parallax('$row[id]');
}
else {
$consulta = "SELECT *, razon_social as nombre , form_id.id as id_formulario 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 ";
}
//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);
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 ) ) {
if($id_empresa !=''){
$onclick ="";
$accion = " href='./s$row[id_formulario]' ";
}else {
$onclick ="";
$accion = " href='./e$row[id_empresa]' ";
}
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='#' onclick=\"xajax_contenido_timeline('$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
";
*/
$resultado_nav .= "<li class='dropdown' >
<a class='' role='button'
$accion class='dropdown-toggle' > $nombre </a>
$contenido_listado
";
}
$resultado_nav .="</li>";
$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 =="sitemap") {
$resultado = "$resultado $contenido_listado";
}
$resultado_grid .= "</div>";
$resultado_banner .= "</div>";
$resultado_banner = "$resultado_inicial $resultado_banner $resultado_final";
// }
$resultado .="</ul>";
}else {$resultado_li = "";}
if($tipo =='li') { return $resultado_li.$resultado;}
elseif($tipo =='nav') { return $resultado_nav;}
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){
$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);
$contenido = "";
mysqli_data_seek($sql, 0);
$orden = 0;
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]",'','contenido');
$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 .= "
$contenido_desplegado
";
$orden = $orden +800;
}
$contenido = "
<style type='text/css'>
$style
.article {
width: 100%;
z-index:0;
-webkit-transform: translateZ( 0 );
transform: translateZ( 0 );
-webkit-transition: -webkit-transform 2s ease-in-out;
transition: transform 2s ease-in-out;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
}
</style>
$links
<!-- <header class='nav' style='' >
<nav class='navbar navbar-default submenu'>
<ul class='nav navbar-nav '> $nav_li </ul>
</nav>
</header> -->
<section id='main_$id'>$contenido</section>
";
}
//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');
//$link=Conectarse();
//$sql=mysqli_query($link,$consulta);
//if (mysqli_num_rows($sql)!='0'){
if ($control !=""){
$impresion = formulario_imprimir("$id","$control","$plantilla");
}
else{$impresion ="nada";}
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","");
if($tipo=='encabezado') {
$resultado ="
<div class='datos_empresa row alert alert-info' role='row'>
<div class='col-sm-2'>
<img id='logo_empresa' class='img-responsive' src='images/secure/?file=150/$imagen[0]'>
</div>
<div class='col-sm-10'>
<div class='caption'>
<h3>$razon_social[0]</h3>
<p class='lead'>$slogan[0]</p>
</div>
</div>
</div>
";
}elseif($tipo=='pie') {
$resultado = "<div class='small'>$razon_social[0] | <a href='$web[0]' target='web'>$web[0]</a> | $direccion[0] | $email[0] </div>";
}
return $resultado;
}
function configuracion($accion) {
if ( $_SESSION['grupo'] != 1 ) { return;}
$div='contenido';
if($accion =='') {
$link ="<a 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(xajax.getFormValues('login'),'nuevo');\"><i class='glyphicon glyphicon-plus'></i> <i class='glyphicon glyphicon-user'></i> Gestión de usuarios</div>";
$resultado ="<h1><i class='glyphicon glyphicon-cog'></i> Configuración</h1>
$multiempresa $login";
$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_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();
$subir_imagen .= "<input name='imagen' id='imagen' type='hidden' >
<div onclick = \"xajax_cambiar_imagen((document.getElementById('imagen').value),'empresa','$_SESSION[id_empresa]') \";
class='btn btn-success'>Cambiar logo</div><br>";
//parametrizacion_linea($tabla,$campo,$opcion,$descripcion,$div)
$parametrizacion =parametrizacion_linea("","","","","");
$usuarios_autorizados = autorizar_usuarios('','','');
$resultado .="
<div class='img-round ' id='banner' 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>
$usuarios_autorizados
<div class='row'>
<div class='col-sm-6'>
<h2>Datos del proyecto</h2>
<li>$empresa_razon_social</li>
<li>$empresa_slogan</li>
<li>$empresa_direccion</li>
<li>$empresa_telefono</li>
<li>$empresa_web</li>
<li>$empresa_email</li>
<li>$empresa_twitter</li>
<li>$empresa_facebook</li>
</div>
<div class='col-sm-6'>
<h2>Datos del usuario</h2>
<li>$username</li>
<li>$nombre</li>
<li>$apellido</li>
<li>$email</li>
</div>
</div>
$parametrizacion_css
<div style='' id='logo' >
<legend>Cambiar logo</legend>
$subir_imagen
</div>
<hr>
<div class='container alert alert-warning'>
$parametrizacion
</div>
";
$respuesta->addAssign($div,"innerHTML",$resultado);
}
return $respuesta;
}
$xajax->registerFunction("configuracion");
function cambiar_imagen($imagen,$tabla,$id) {
$respuesta = new xajaxResponse('utf-8');
$link = Conectarse();
mysqli_set_charset($link, "utf8");
$consulta = "UPDATE $tabla SET `imagen` = '".$imagen."' WHERE `id` = '$id';";
$sql_consulta=mysqli_query($link,$consulta);
if($sql_consulta) {
if($tabla =='empresa') {
$respuesta->addAssign("banner","style.backgroundImage","url('images/secure/?file=600/$imagen')");
$respuesta->addAssign("formUpload","innerHTML","");
return $respuesta;
}
else {
$respuesta->addAssign("banner","style.backgroundImage","url('images/secure/?file=600/$imagen')");
$respuesta->addAssign("formUpload","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 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){
}
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 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");
function formulario_imprimir($id,$control,$tipo,$timestamp) {
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($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
ORDER BY form_contenido_campos.orden ASC $limit
";
}else {
$consulta = "SELECT * FROM form_datos WHERE control = '$control' $where_timestamp GROUP BY id_campo" ;
}
$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_array = $contenido;
// $contenido = formulario_valor_campo("$id","$row[id_campo]","","$control");
$md5_contenido = $contenido[4];
$contenido_original = $contenido[3];
$contenido = $contenido[3];
if($campo_tipo =='15' AND $tipo==""){if($contenido !=""){
$contenido = "<img class='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]images/secure/?file=600/$contenido'>
";
$laimagen = $imagen;
}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];
@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=' img img-round img-responsive' style='width:100%' src='https://api.tiles.mapbox.com/v4/examples.map-zr0njcqy/url-".$url_pin."($lat,$lon,$zoom)/$lat,$lon,$zoom/600x150.png?access_token=$mapbox_token' >
<a target='mapa' href='https://www.openstreetmap.org/?mlat=$lon&mlon=$lat#map=$zoom/$lon/$lat&layers=C'>Ver mapa</a>
"; }else{ $contenido ="<div class='alert alert-danger'>No se ha definido un token de mapbox</div>";}
}
}
elseif($campo_tipo=='4'){ $contenido = "<a href='$contenido' target='_blank'>$contenido</a>";}
elseif($campo_tipo=='18'){ $contenido = "";}
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=='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>";
}
}
else {
$html ="$contenido";
$contenido = nl2br($html);
//$contenido = Markdown($contenido);
$contenido= html_entity_decode($contenido);
}
$campo_nombre = remplacetas('form_campos','id',$row['id_campo'],'campo_nombre','');
$nombre[$row['id_campo']] = $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 !="" ){ $contenido = strip_tags($contenido); }
$campo[$row['id_campo']]=$contenido;
$campo_400[$row['id_campo']] = substr($contenido,0, $length = 400)."... ";//$contenido;
$campo_80[$row['id_campo']] = substr($contenido,0, $length = 80);//$contenido;
$campo_55[$row['id_campo']] = substr($contenido,0, $length = 55);//$contenido;
$campo_limpio[$row['id_campo']] = trim(strip_tags($contenido));
$campo_limpio_80[$row['id_campo']] = strip_tags($contenido);
$fecha = date ( "Y-m-d h:i:s" , $row['timestamp'] );
$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{}
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'>
<h4 data-toc-skip class='campo_contenido' id='contenido_$row[id_campo]'>
<small class='campo_titulo campo_nombre' id='nombre_$row[id_campo]'>$campo_nombre[0]</small><small class='pull-right'>$metadatos</small><br>
$contenido</h4>
</div>";
}
}
}
//$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 !="" 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 = $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($plantilla != ""){
@eval("\$plantilla = \"$plantilla \";");
$full ="$plantilla";
/// $full = preg_replace("/<[^\/][^<>]*> *<\/[^<>]*>/", "", $full );
}else {
$full= "<div class='$class'>$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){
$resultado ="";
///vinculado con la funcion de javascript resultadoUpload(estado, file) que esta en librerias/scripts.js
//this.form.taget= 'ventana'; this.form.action = 'destinoEspecial.html'; this.form.submit()"
if($id =="") {
$empresa = $_SESSION['id_empresa'];
$javascript = "includes/upload.php";
$path = "";
}
else {
$id_empresa = remplacetas('form_id','id',"$respuesta",'id_empresa','');
$empresa= $id_empresa[0];
$web = remplacetas('empresa','id',"$empresa",'web','');
$javascript = "https://$web[0]/milfs/includes/upload.php";
$path = "https://$web[0]/milfs/";
}
/*
if(file_exists(milfs/includes/upload.php)) {$javascript="milfs/includes/upload.php"; $path ="milfs/";}
else{$javascript="includes/upload.php"; $path ="";}
*/
//$javascript="milfs/includes/upload.php";
//$javascript="milfs/includes/upload.php";
//$path ="milfs/";
$campo_mapa = buscar_campo_tipo($respuesta,"14");
$campo_mapa = $campo_mapa[0];
if ($id ==''){$id='imagen';}
$size = ($_SESSION['upload_size']*1024*1024)." bytes";
$resultado ="
<!-- $javascript // $path // $id // $respuesta // $_SESSION[path_images_secure] // -->
<form 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'>La imagen debe estar en formato .jpg y de tamaño m&aacute;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 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&aacute;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="";}
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 timestamp= '".time()."', id_usuario='$_SESSION[id]',id_empresa='$_SESSION[id_empresa]',form_id ='$perfil',
$graba_ip ,
control = '$control', $consulta id_campo = '$campo[$numero_columna]' , contenido = '$columna'";
// $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 != "control") {
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) {
$id = mysql_seguridad($id);
//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
";
}else {
$consulta = "SELECT * FROM form_datos WHERE control = '$control' GROUP BY id_campo" ;
}
$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];
$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);
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' src='images/secure/?file=150/$imagen' alt='$imagen' style='max-width:100px;' title='$imagen'>";
}else {$imagen='';}
$td .= "<td>$imagen</td>";
while( $row = mysqli_fetch_array( $sql ) ) {
$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",'');
$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]";
if($tipo=="titulos") {
$contenido = "$campo_nombre[0] <!-- <small>$row[id_campo]</small> -->";
}
elseif($tipo=="titulos_csv"){
$csv .= '"'.$campo_nombre[0].'";';
}
elseif($tipo=="linea_csv"){
$csv .= '"'.$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==""){if($contenido !=""){$contenido = "<img class='img-responsive' style='width:100%' 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");
$url_pin =urlencode("$_SESSION[site]milfs/images/iconos/pin.png");
$contenido = "
<!-- <img class='img-round' src='https://dev.openstreetmap.de/staticmap/staticmap.php?center=$lon,$lat&zoom=$zoom&size=350x100&maptype=mapnik&markers=$lon,$lat,red-pushpin' > -->
<img class='img-round ' src='https://api.tiles.mapbox.com/v4/examples.map-zr0njcqy/url-".$url_pin."($lat,$lon,$zoom)/$lat,$lon,$zoom/350x100.png?access_token=$mapbox_token' >";
} else { $contenido ='';}
}
elseif($campo_tipo=='4'){ $contenido = "<a href='$contenido' target='_blank'>$contenido</a>";}
elseif($campo_tipo=='3' AND $contenido !=""){ $contenido = number_format($contenido);}
elseif($campo_tipo =="6" ) {$contenido =imprimir_buscador_campo($row[id_campo],$contenido) ;}
else {$contenido = Markdown("$contenido");}
}
if($tipo=="titulos") {
$td .= "<th> $contenido </th>";
}else{
$td .= "<td> $contenido </td>";
}
}
if($tipo=="titulos") { $identificador ="<th>Identificador</th>"; }else {$identificador ="<td>$control</td>";}
$resultado .="$td $identificador ";
}
if($tipo =='titulos_csv' or $tipo=='linea_csv') {
return $csv;
}
if($tipo =="array") {
//$array["title"]="hola mundos";
return $array;
}
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 para la consulta </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</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 para la consulta </h1></div>";
}
//$resultado .="$consulta";
$respuesta->addAssign("resultados_encabezado","innerHTML",$encabezado);
$respuesta->addAssign($div,"innerHTML",$resultado);
return $respuesta;
} $xajax->registerFunction("matriz_formulario");
function remplacetas($tabla,$campo,$valor,$por,$and){
$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){
$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 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)!=0){
$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 formulario_campos_select($perfil,$div,$onchange){
$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'){
$categoria = remplacetas('form_parametrizacion','campo',$perfil,'descripcion'," opcion = 'categoria'") ;
$categoria = $categoria[0];
$resultado = "<label for='id_campo'>Campo</label>
<select onchange=\"xajax_formulario_campos_filtro('$perfil',(this.value),'filtro_$perfil'); \" 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 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 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 = $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");
$campos_formulario .= "<div name='crear_campos_consulta_$campo_area' id='crear_campos_consulta_$campo_area'> </div>";
while( @$row = mysqli_fetch_array( $campos ) ) {
if ($row['tipo_campo_accion']=='textarea'){
$campos_formulario .= "<div name='id_campos_consulta_".$row['id_consulta_campo']."' id='id_campos_consulta_".$row['id_consulta_campo']."'><form name='Xcampo_editar".$row['id_consulta_campo']."' id='Xcampo_editar".$row['id_consulta_campo']."'><input name='id_campo_editar' id='id_campo_editar' value='".$row['id_consulta_campo']."' type='hidden'><input type='hidden' name='Xarea' id='Xarea' value='".$row['campo_area']."' type='hidden'><input name='id_campo_editar' type='hidden' id='id_campo_editar' value='".$row['id_consulta_campo']."'></form>".$row['orden']."<input type='button' style='width: 200;text-align: left;' value='".$row['campo_nombre']."' OnClick=\"xajax_crear_campos_consulta(xajax.getFormValues('Xcampo_editar".$row['id_consulta_campo']."'));\" title='".$row['campo_descripcion']."'><br><textarea name='".$row['campo_nombre']."' rows='5' cols='70'></textarea></div><br><br>";}
else{
$campos_formulario .= "<div name='id_campos_consulta_".$row['id_consulta_campo']."' id='id_campos_consulta_".$row['id_consulta_campo']."'><form name='Xcampo_editar".$row['id_consulta_campo']."' id='Xcampo_editar".$row['id_consulta_campo']."'><input name='id_campo_editar' id='id_campo_editar' value='".$row['id_consulta_campo']."' type='hidden' ><input type='hidden' name='Xarea' id='Xarea' value='".$row['campo_area']."' ><input name='id_campo_editar' id='id_campo_editar' value='".$row['id_consulta_campo']."' type='hidden'></form>".$row['orden']."<input type='button' style='width: 200;text-align: left;' value='".$row['campo_nombre']."' OnClick=\"xajax_crear_campos_consulta(xajax.getFormValues('Xcampo_editar".$row['id_consulta_campo']."'));\" title='".$row['campo_descripcion']."'><br> <input name='".$row['campo_nombre']."' id='".$row['campo_nombre']."' type='".$row['tipo_campo_accion']."' size='72'></div><br><br>";
} }
$respuesta->addAssign("formulario_campos_$misma_area","innerHTML",$campos_formulario);
return $respuesta;
}$xajax->registerFunction("formulario_campos_procesar");
function formulario_opciones_select($tipo,$id_campo){
$valores="";
$respuesta = new xajaxResponse('utf-8');
$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> ";
}
else{
$resultado = " <textarea class='form-control' id='opciones' name='opciones' title='Predefinido' placeholder='Valores predefinido'>$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]'",'campo_area',"");
$resultado .= "
<div id='div_campos'>
<div name='formulario_campos_$area' id='formulario_campos_$area' style='padding: 10px;' class='BC".$especialista."' >
<form 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&oacute;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-warning'>
<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";
$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');
$campos_formulario = "
<form 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-default' 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>
<div id='div_campos'>$tabla_campos</div>
";
}else{
$campos_formulario .= "<div name='crear_campos_consulta_$area' id='crear_campos_consulta_$area'> </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";
$areas = select('form_areas',"id",'nombre','',"id_empresa = '$_SESSION[id_empresa]'",'campo_area',"$row[campo_area]");
$campos_formulario .= "
<div id='formulario_campos_$misma_area'>
<div class='alert alert-info' >
<form 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>
<input type='text' class='form-control' id='campo_nombre' name='campo_nombre' value='$row[campo_nombre]'>
</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
</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_limpia_div('$div')\" ><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
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>
";
$resultado .= "<div class='row'>
<div class='col-md-4 hidden-md hidden-sx'>
Campo
</div>
<div class='col-md-2 '>
</div>
<div class='col-md-3'>
Orden
</div>
<div class='col-md-2 '>
Multiple
</div>
<div class='col-md-1 '>
Borrar
</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";}
//$multiple = $multiple[0];
$resultado .= "<div class='row'>
<div class='col-md-4'>
<span class='label label-default'>$row[id_campo]</span> $row[campo_nombre]
</div>
<div class='col-md-2' >
Obligatorio<br>
<div class='input-group '>
<span class='input-group-addon'>0</span>
<input type='range' value='$row[obligatorio]' min='0' max='1' class='form-control'
onchange =\"xajax_actualizar_campo('form_contenido_campos','$row[id]','obligatorio',(this.value),'',''); \">
<span class='input-group-addon alert-success'>1</span>
</div>
Privacidad<br>
<div class='input-group '>
<span class='input-group-addon'>0</span>
<input class='form-control' type='range' value='$privado' min='0' max='1' name='privado_$row[control]' id='privado_$row[control]'
onchange =\"xajax_campo_privacidad(this.value,'$row[id_campo]','$id_formulario','grabar')\">
<span class='input-group-addon alert-success' title='el contenido de este campo no se mostrará'>1</span>
</div>
</div>
<div class='col-md-3' title='ORDEN'>
<div class='input-group '>
<span class='input-group-addon' >
<input type='number' value='$row[orden]' min='0' max='100' size='2' class='' id='input_orden_$row[control]'
onchange =\"xajax_actualizar_campo('form_contenido_campos','$row[id]','orden',(this.value),'','orden_$row[control]'); \" >
</span>
<input type='range' value='$row[orden]' min='0' max='100' class='form-control'
onchange =\"(document.getElementById('input_orden_$row[control]').value=(this.value));xajax_actualizar_campo('form_contenido_campos','$row[id]','orden',(this.value),'','orden_$row[control]'); \">
<span class='input-group-addon' id='orden_$row[control]' >$row[orden]</span>
</div>
</div>
<div class='col-md-2' title='MULTIPLE'>
<div class='input-group '>
<span class='input-group-addon'></span>
<input type='range' value='$row[multiple]' min='0' max='1' class='form-control'
onchange =\"xajax_actualizar_campo('form_contenido_campos','$row[id]','multiple',(this.value),'',''); \">
<span class='input-group-addon alert-success'></span>
</div>
</div>
<div class='col-md-1' title='ELIMINAR'>
<div name='eliminar_$row[control]' id='eliminar_$row[control]' >
<a class='btn btn-danger btn-block' title='Click para cambiar el valor'
onClick=\"xajax_agregar_campos('eliminar','eliminar_$row[control]','','$row[control]','$id','$div')\">
<i class='glyphicon glyphicon-trash'></i>
</a>
</div>
</div>
</div><hr>";
}
$consulta_campos_todos ="SELECT form_campos.id, form_campos.campo_nombre, form_campos.campo_descripcion FROM form_campos WHERE form_campos.id_empresa = '$_SESSION[id_empresa]'
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 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-warning' OnClick=\"xajax_crear_campos_formulario(xajax.getFormValues('nuevo_campo'),'$id');\"><i class='glyphicon glyphicon-plus-sign'></i> Crear campo</div>
</div>
";
while( $row = mysqli_fetch_array( $sql_consulta_campo ) ) {
$valores .= "<option value='$row[id]' title='$row[campo_descripcion]'>$row[campo_nombre] [$row[id]]</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 esta consulta ";
}
}
}///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 = "<i class='glyphicon glyphicon-exclamation-triangle'></i>
Seguro que desea eliminar el campo de esta consulta?
<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')\">
<img src='images/eliminar.gif' border='0' alt='[X]' title='Eliminar este campo'>
</a>";
}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')");
}
}
}/// 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 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){
$item="";
$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==''){
$div = "contenido";
if(isset($_SESSION['grupo_formularios'])) { $sesion_grupo_formularios = $_SESSION['grupo_formularios'];}else { $sesion_grupo_formularios = "";}
$resultado = "<li id='link_formulario'><a href='#' onclick=\"xajax_formulario_listado('$sesion_grupo_formularios','$div'); \"><i class='glyphicon glyphicon-list'></i> Formularios</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($filtro_grupo =="") {
$consulta = "SELECT * FROM form_id WHERE id_empresa ='$_SESSION[id_empresa]' ORDER BY orden ASC";
}
else {
$consulta = "
SELECT * FROM form_id, form_grupo
WHERE form_grupo.id = form_id.id
AND form_grupo.grupo = '$filtro_grupo'
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>Administración de Formularios</legend>";
unset($_SESSION['grupo_formularios']);
}
$resultado_link = "<a href='#' onclick=\"xajax_formulario_listado('".@$_SESSION[grupo_formularios]."','$div'); \"><i class='glyphicon glyphicon-list'></i> Formularios</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");
$listado_grupos ="
<div class='input-group'>
<span class='input-group-addon'>Seleccione un grupo de formularios</span>
$listado_grupos
</div>
";
$clonar = clonar_formulario($formulario,$id_empresa,"","","formato");
$mover = mover_formulario($formulario,$id_empresa,"formato");
$nuevo_formulario = "
<div class='form-group'>
<a class='btn btn-primary btn-block ' href='#' onclick=\"xajax_formulario_nuevo('','contenido'); \">
<i class='glyphicon glyphicon-plus-sign-o'></i> Crear formulario </a>
</div>";
$resultado = "
<div class='col-sm-4' style=''>
$nuevo_formulario
</div>
<div class='col-sm-8' style=''>
$listado_grupos
</div>
$leyenda_filtro_grupo
";
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'>Llenado: $cantidad veces</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',"") ;
$modificable = "<tr><td>
<div class='input-group '>
<span class='input-group-addon'>Formulario privado</span>
<input type='range' value='$modificable[0]' min='0' max='1' class='form-control'
onchange =\"xajax_actualizar_campo('form_id','$row[id]','modificable',(this.value),'',''); \">
<span class='input-group-addon alert-danger'>Público</span>
</div>
</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'") ;
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 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","","","","");
}
$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-6'>
<h4>$nombre_formulario[0]</h4>
<div style='display:none' id='div_mostrar_portal_$row[id]'></div>
<ul class='list-group'>
<li class='list-group-item'>
<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>
<div class='btn btn-default btn-default' onclick=\"xajax_consultar_formulario('$row[id]','10','','modal'); \"><i class='glyphicon glyphicon-eye-open'></i> Consultar</div>
<a class='btn btn-default 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>
</li>
<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_$name'>Mostrar en 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='$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_$name'>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_$name'>Ver data desde el portal</span>
</div>
</li>
</ul>
</div>
<div class='col-xs-5'>
<ul class='list-group'>
<li class='list-group-item'>Creación: $row[creacion] / $propietario[0]</li>
$cantidad
$ultimo
$primer
$mapa
</ul>
</div>
<div class='col-xs-1 alert alert-info '>
<h2 class='text-center '>$row[id]</h2>
</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 row'>
<div class='col-md-5'>
<legend>Mensaje de respuesta </legend>
<div id='div_mensaje_envio_$row[id]'>
<textarea style='min-height:245px;' 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:300px; 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>Aún no se han diseñado formularios</h2></div> ";}
$resultado_formulario ="
<div class='panel-group' id='accordion_accion_formulario' role='tablist' aria-multiselectable='true'>
$clonar
$mover
<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-primary' 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' id='panel_administrador'>
<div class='panel-group' id='acordion_grid' role='tablist' aria-multiselectable='true'>
$item
</div>
</div>
</div>
</div>
";
/*
*/
$resultado = "$resultado $resultado_formulario ";
$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)."') \">".($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("boton_".$id_campo."","innerHTML","$boton ");
return $respuesta;
}
$xajax->registerFunction("campo_multiple");
function formulario_campos_render($id_campo,$id_form,$control,$item,$id_dato){
$cols ="";
$style="";
$campo_multiple="";
$render="";
//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 {
$value = remplacetas('form_datos','id_campo',$id_campo,'contenido'," control = '$control'") ;
$multiple=mysqli_result($sql,0,"multiple");
}
if($item=='') {$item ="0";}else {$item=$item;}
$clase_item="clase_$id_campo";
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'){$render = "<input value='$value' type='date' id='".$id_campo."[".$item."]' name='".$id_campo."[".$item."]' class='form-control' placeholder='' > <label class='label_date'>$campo_descripcion</label>";
}
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];
}
}
$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."]' width='100%' height='300px'></iframe>
<input value='$value' type='text' id='".$id_campo."[".$item."]' name='".$id_campo."[".$item."]' class='form-control' placeholder='coordenadas' readonly >
";
$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]);
$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;
$render = "$limite /
<span id='aviso_".$id_campo."[".$item."]' class='alert-info'></span>
<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>";
$cols='12';
}
elseif($campo_tipo_accion == 'select'){
//$select = select('form_campos_valores','campo_valor','campo_valor','',"id_form_campo = $id_campo",$id_campo."[".$item."]");
$select = select_edit($id_campo,$id_form,"$value",$id_campo."[".$item."]",$control);
$render = "$select <small>$campo_descripcion</small> "; $cols='12'; }
elseif($campo_tipo_accion == 'radio'){
$select = radio_edit($id_campo,$id_form,$value,$id_campo."[".$item."]",$control);
$render = "$select <small>$campo_descripcion</small> ";
$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 table-striped table-hover table-condensed' >
<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 == '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 == '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 == '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 = "
<link href='librerias/firma/signature-pad.css' rel='stylesheet'>
<div id='signature-pad' class='m-signature-pad'>
<div class='m-signature-pad--body'>
<canvas id='canvas_firma' onmouseout=\" if (signaturePad.isEmpty()) { alert('Por favor firme primero.'); } else { saveViaAJAX(); }\" ></canvas>
</div>
<div class='m-signature-pad--footer'>
<div class='description'>Firme arriba</div>
<div class='left'>
<button type='button' class='button clear btn-warning' data-action=\"clear\" onclick=\"document.getElementById('$id_campo').value=''\">Limpiar</button>
</div>
<input type='hidden' id='".$id_campo."[".$item."]' name='".$id_campo."[".$item."]' >
<div class='right'>
<button type='button' class='button save btn-success' data-action='save-data'>Confirmar firma</button>
</div>
</div>
</div>
<script type=\"text/javascript\">
function saveViaAJAX()
{
var testCanvas = document.getElementById('canvas_firma');
var canvasData = testCanvas.toDataURL('image/svg+xml');
var postData = 'canvasData='+canvasData;
var debugConsole= document.getElementById('".$id_campo."[".$item."]' );
debugConsole.value=canvasData;
}
</script>
<script src=\"librerias/firma/signature_pad.js\"></script>
<script src=\"librerias/firma/app.js\"></script>
";
$cols='12';
}
elseif($campo_tipo_accion == 'number'){
$render = "
<input 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>";
$cols='12';
}
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'){
$campo_multiple = "
<div class='col-md-12' id='id_campo_$id_campo"."_".$item."'>
<div id='boton_$id_campo' style='display:inline'>
<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>
</div>
</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";}
$input = "
<div class='col-md-$cols' style='$style'>
<div class='form-group ' id='input_".$id_campo."[".$item."]' >
$label
<div class='col-md-12' data-toggle='tooltip' data-placement='top' title='$campo_descripcion'>
$render
<small></small>
</div>
</div>
</div>
$campo_multiple
";
if($campo_tipo_accion != "oculto") {
$input= $input;
}else { $input ="";}
}
return $input;
}
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="";
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] ";
}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 .="$consulta";
$existe[]= $control;
$existe[] = $timestamp;
$existe[] = $consulta;
$existe[] = "$contenido";
$existe[] = $md5_contenido;
$existe[] = $orden;
$existe[] = $id_usuario;
$existe[] = $ip;
}
return $existe;
}
function formulario_grabar($formulario) {
$debug="";
$respuesta = new xajaxResponse('utf-8');
$datos="";
$envio="";
//$formulario = mysql_seguridad($formulario);
$ip = obtener_ip();
$graba_ip = "INET_ATON('".$ip."') ";
$consulta_grabada ='0';
$control = $formulario['control']; //
$form_id = $formulario['form_id']; //
$tipo = $formulario['tipo']; //
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");
// $sql=mysqli_query($link,$consulta_form);
// if (mysqli_num_rows($sql)!='0'){
// mysqli_data_seek($sql, 0);
// while( $row = mysqli_fetch_array( $sql ) ) {
//////
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];
}
foreach($formulario as $c=>$v){
//LISTA ELEMENTOS DE UN ARRAY
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($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) ) {
$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]=='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";
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)
VALUES (NULL, '$c','$C', '$formulario[form_id]', '$_SESSION[id]', '', UNIX_TIMESTAMP(), '$formulario[control]',$graba_ip,'$id_empresa');";
$sql=mysqli_query($link,$consulta_vacio);
if($sql) {
$consulta_grabada ='1';
}
}
if(is_null($igual) ){$repetido = 0;}else{
$repetido = 1;
}
//return $respuesta;
//$respuesta->addAlert("$debug");
//return $respuesta;
$debug .= "V = $V /$c /$repetido / $igual ";
//$V = str_replace("<p><br></p>", "", $V );
if(($V !='' ) && (is_numeric($c)) AND $repetido !=1 ) {
//$debug = "Hola mundo";
$V = mysqli_real_escape_string($link,$V);
///
$V = htmlentities($V);
$campo_tipo = remplacetas("form_campos","id",$c,"campo_tipo","");
if(@$campo_tipo[0] =="18") {
$V = md5("$V");
}else{$V=$V;}
$consulta ="
INSERT INTO `form_datos` (`id`, `id_campo`,`orden`,`form_id`, `id_usuario`, `contenido`, `timestamp`, `control`, ip , id_empresa)
VALUES (NULL, '$c','$C', '$formulario[form_id]', '".@$_SESSION[id]."', '$V', UNIX_TIMESTAMP(), '$formulario[control]',$graba_ip,'$id_empresa');";
$sql=mysqli_query($link,$consulta);
$debug .= "$consulta = $sql ,";
if($sql) {
$consulta_grabada ='1';
}
}
} ///fin del array
}///fin del array primario
else {
if($v !='') { //$datos .= "<p>$$c = \$formulario['$c']; // <b>$v</b> </p>";
}
}
}
// }
// }
//$debug .= " $link ";
//$respuesta->addAssign("pie_modal","innerHTML","$debug");
if($consulta_grabada =='1') {
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 == "solocampos" ){
$exito ="
<div class='alert alert-success'><h2><i class='glyphicon glyphicon-check-square-o'></i>
$formulario[mensaje] </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>
";
}
$impresion = formulario_imprimir("","$formulario[control]","preview");
$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","$id_empresa","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 ";
}
/// }
$respuesta->addAssign("div_$control","innerHTML","$exito ");
return $respuesta;
}else{
$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></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) {
$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];
$resultado .= $identificador;
$resultado .= formulario_campos_render($row[id_campo],$id_form,$control,$row[orden],$identificador);
$item = $item + 1;
}
}
$resultado .= formulario_campos_render($id_campo,$id_form,'',$item,'')."";
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]");
}
$muestra_form = "
<div id ='div_$control' class='' >
<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>
<form role='form' id='$control' 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 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</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;}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."_".$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</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 </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");
$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=" <SELECT class='form-control' NAME='$name' id='$name' >
<option value=''>Seleccione </option>
" ;
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>";
}else{$resultado = "<div class='alert alert-warning alert_sin_resultados'><i class='glyphicon glyphicon-exclamation-triangle'></i> No hay resultados</div>";}
return $resultado;
}
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</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 $consulta</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 ) ) {
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</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);
// $value = remplacetas("form_datos","control","$control","contenido","id_campo ='$id_campo' ");
if (mysqli_num_rows($sql)!='0'){
$name = explode("[",$name);
$name = $name[0];
$fila="0";
while( $row = mysqli_fetch_array( $sql ) ) {
$value = remplacetas("form_datos","control","$control","contenido","id_campo ='$id_campo' and contenido ='$row[campo_valor]' ");
$nombre= "$name"."[".$fila."]";
//if($row[campo_valor] ==="$valor"){$selected="checked";}else{$selected ="";}
if($value[0] ==="$row[campo_valor]"){$selected="checked";}else{$selected ="";}
$resultado .= "<div class='checkbox' id='check_$row[campo_valor]' >
<label>
<input type='checkbox' name='$nombre' id='$nombre' value='$row[campo_valor]' $selected >
$row[campo_valor] $selected
</label>
</div>";
$fila++;
}
$resultado .= "";
}else{$resultado = "<div class='alert alert-warning alert_sin_resultados'><i class='glyphicon glyphicon-exclamation-triangle'></i> No hay resultados</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";}
$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</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('','');
//$consultas = formulario_consultar('','');
//$importador = formulario_importador('');
//$limpiar_cache = borrar_tmp('');
$configuracion= configuracion('');
$login = login_boton('');
$usuarios = "
<li>
<a title='agregar usuarios' class='btn link' 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='bs-example-navbar-collapse-1'>
<ul class='nav navbar-nav'>
<li>$crear_campos</li>
$listado
$usuarios
<li >$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");
require ("includes/parametrizacion.php");
if($nombre_formulario =="") {$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",$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","");
$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_
$id_empresa = $formulario[id_empresa]; // nuevo_
if($id_empresa =="") {$id_empresa= $_SESSION['id_empresa'];}
$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)
VALUES ('$email_express_confirmar','$nombre_express','$apellido_express','$email_express_confirmar','".MD5($password_express_confirmar)."','$control','1','$ip','$id_empresa','$documento')";
//$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);
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'>Empresa</span>
$empresa
</div>
";
}
$listado_usuarios = usuarios_listado($tabla_autenticacion,"");
$mailer = mailer('','','','');
$form = "
<div class='alert alert-warning'>
<form class='form' id='$nombre_formulario' name='$nombre_formulario' >
<input type='hidden' value = 'nuevo_$nombre_formato' id='nombre_formulario' name='nombre_formulario' >
<legend>Usuario </legend>
$empresa
<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-o'></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-key'></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 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 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 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","","","");
if($row['imagen'] =="") { $imagen = "images/profile.jpg"; }
else{$imagen= "images/secure/?file=300/$row[imagen]";}
//$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",'');
$subir_imagen = subir_imagen("","");
$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' 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]') \";
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></li>
<li class='list-group-item '><div class=''> $listado_formularios</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 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_delular'>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) { } 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>$name</legend>
<tr ><th>Id</th><th>Username</th><th>Nombre</th><th>Email</th><th>Documento</th><th>Empresa</th><th></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 ) ) {
$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","","","");
//$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]","sigla","") ;
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>$row[email]</td><td>$row[documento_numero]</td><td> $empresa[0] $grupo[0]</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</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");
?>