mejoras api REST

This commit is contained in:
humano 2018-10-13 21:26:34 -05:00
parent 1d1fcf266d
commit e59eb45da7
3 changed files with 102 additions and 20 deletions

View File

@ -5494,7 +5494,7 @@ if (mysqli_num_rows($sql)!='0'){
$resultado =" $resultado ="
<div class='formulario_respuesta_contenedor'>"; <div class='formulario_respuesta_contenedor'>";
while( $row = mysqli_fetch_array( $sql ) ) { while( $row = mysqli_fetch_array( $sql ) ) {
$descripcion =substr($row[descripcion],0, $length = 80); $descripcion =substr($row['descripcion'],0, $length = 80);
$caracteres = strlen("$descripcion"); $caracteres = strlen("$descripcion");
if($caracteres > 80) { $descripcion= "$descripcion ... ";} if($caracteres > 80) { $descripcion= "$descripcion ... ";}
$resultado .= "<div id='btn_anidado' class='respuesta_linea'><a class='btn btn-success col-xs-12' style='white-space:normal !important; word-wrap: break-word; 'onclick = \"xajax_formulario_embebido_ajax('','$row[id]','$identificador','respuesta') \" title='$row[descripcion]'>$row[nombre] <small>$descripcion</small></a> </div> "; $resultado .= "<div id='btn_anidado' class='respuesta_linea'><a class='btn btn-success col-xs-12' style='white-space:normal !important; word-wrap: break-word; 'onclick = \"xajax_formulario_embebido_ajax('','$row[id]','$identificador','respuesta') \" title='$row[descripcion]'>$row[nombre] <small>$descripcion</small></a> </div> ";
@ -7378,6 +7378,7 @@ $sql = mysqli_query($link,$consulta) or die("Error al ejecutar consulta 02 ");
$campo_titulo = remplacetas('form_parametrizacion','campo',$id_form,'descripcion'," tabla='form_id' and opcion = 'titulo'") ; $campo_titulo = remplacetas('form_parametrizacion','campo',$id_form,'descripcion'," tabla='form_id' and opcion = 'titulo'") ;
$campo_titulo_nombre = remplacetas('form_campos','id',$campo_titulo[0],'campo_nombre',"") ; $campo_titulo_nombre = remplacetas('form_campos','id',$campo_titulo[0],'campo_nombre',"") ;
//$array["consulta"] = "$consulta";
$array["identificador"] = "$identificador"; $array["identificador"] = "$identificador";
$array["id_aplicacion"] = "$id_form"; $array["id_aplicacion"] = "$id_form";
//$array["consulta_form"] = "$id_form[2]"; //$array["consulta_form"] = "$id_form[2]";
@ -7396,6 +7397,16 @@ while($row = mysqli_fetch_array( $sql ))
$contenido_multiple = formulario_valor_campo("$row[form_id]","$id_campo[0]","","$identificador",'',"$row[timestamp]"); $contenido_multiple = formulario_valor_campo("$row[form_id]","$id_campo[0]","","$identificador",'',"$row[timestamp]");
$contenido[0] = $contenido_multiple[9];} $contenido[0] = $contenido_multiple[9];}
else{ $contenido = remplacetas_orden('form_datos','id_campo',$row["id_campo"],'contenido'," control = '$identificador'"," ORDER BY timestamp DESC ") ;} else{ $contenido = remplacetas_orden('form_datos','id_campo',$row["id_campo"],'contenido'," control = '$identificador'"," ORDER BY timestamp DESC ") ;}
$contenido[0] =stripslashes($contenido[0]);
$contenido[0] =stripslashes($contenido[0]);
$contenido[0] =stripslashes($contenido[0]);
$is_json = isJson($contenido[0]);
if($is_json == '1'){
$cadena='{"a":1,"b":2,"c":3,"d":4,"e":5}';
$contenido[0] = json_decode($contenido[0]);
}else{}
//$contenido[0] = "$contenido[0] $is_json ";
//$contenido[0] = json_encode($contenido,true,512);
$nombre_campo = remplacetas('form_campos','id',$id_campo[0],'campo_nombre',"") ; $nombre_campo = remplacetas('form_campos','id',$id_campo[0],'campo_nombre',"") ;
// $valor_actual = imprimir_buscador_campo("$id_campo","$row[contenido]",'buscador_drop'); // $valor_actual = imprimir_buscador_campo("$id_campo","$row[contenido]",'buscador_drop');
if($campo_tipo[0]=='10'){ if($campo_tipo[0]=='10'){
@ -7434,7 +7445,7 @@ while($row = mysqli_fetch_array( $sql ))
//$array[id_campo] = $row[id_campo]; //$array[id_campo] = $row[id_campo];
if($id_campo[0] == $campo_titulo[0] or $nombre_campo[0] == 'Titulo' ) { if($id_campo[0] == $campo_titulo[0] or $nombre_campo[0] == 'Titulo' ) {
$array['title'] = strip_tags(html_entity_decode("$contenido[0]")); $array['title'] = strip_tags(html_entity_decode($contenido[0]));
} }
//// PRIVACIDAD //// PRIVACIDAD
$privado = remplacetas('form_parametrizacion','campo',"$row[form_id]",'opcion'," tabla='form_id' AND descripcion ='$id_campo[0]' AND opcion REGEXP '^privacidad:' ") ; $privado = remplacetas('form_parametrizacion','campo',"$row[form_id]",'opcion'," tabla='form_id' AND descripcion ='$id_campo[0]' AND opcion REGEXP '^privacidad:' ") ;
@ -7442,7 +7453,7 @@ while($row = mysqli_fetch_array( $sql ))
$privado = @$privado[1]; $privado = @$privado[1];
/// PRIVACIDAD /// PRIVACIDAD
if($privado !='1') { if($privado !='1') {
$array[$nombre_campo[0]] = html_entity_decode("$contenido[0]"); $array[$nombre_campo[0]] = $contenido[0];//html_entity_decode($contenido[0]);
//$array['consulta'] = "$contenido[2]"; //$array['consulta'] = "$contenido[2]";
$uri = "$_SESSION[site]I$identificador"; $uri = "$_SESSION[site]I$identificador";
$array['url'] = "$uri"; $array['url'] = "$uri";
@ -7463,6 +7474,12 @@ $array["responder"]= $contenido_respuestas;//"$contenido_respuestas $row[control
return $array; return $array;
} }
function isJson($str) {
$json = json_decode($str);
return (json_last_error() === JSON_ERROR_NONE);
}
function array_respuestas($id,$identificador,$plantilla) { function array_respuestas($id,$identificador,$plantilla) {
if($id=='') {return;} if($id=='') {return;}
$id = mysql_seguridad($id); $id = mysql_seguridad($id);
@ -11432,7 +11449,7 @@ mysqli_set_charset($link, "utf8");
$nuevos_datos = $datos; $nuevos_datos = $datos;
$nuevos_datos["identificador"]="$row[control]"; $nuevos_datos["identificador"]="$row[control]";
$nuevos_datos["tipo"]="array"; $nuevos_datos["tipo"]="array";
$features[] = datos_array($row["control"],"$datos[id]","") ; $features[$row['control']][] = datos_array($row["control"],"$datos[id]","") ;
//$features['consulta'] = $consulta; //$features['consulta'] = $consulta;
} }
else { else {
@ -11448,6 +11465,7 @@ mysqli_set_charset($link, "utf8");
}else{} }else{}
if($datos["tipo"] == "array" ) { if($datos["tipo"] == "array" ) {
$resultado = $features; $resultado = $features;
}else { }else {
@ -11473,13 +11491,14 @@ mysqli_set_charset($link, "utf8");
} }
elseif($datos["identificador"] !=''){ elseif($datos["identificador"] !=''){
if($datos["tipo"] =='simple') {$campos ="form_campos.id as id_campo, form_datos.id as id_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 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_formulario, nombre as formulario, campo_nombre, form_campos.id AS
id_campo ,contenido ,timestamp, control as identificador , id_campo ,contenido ,timestamp, control as identificador ,
form_datos.orden" ;} form_datos.orden" ;}
$consulta = "SELECT $campos $consulta = "SELECT $campos,form_datos.control
FROM `form_datos` , `form_campos` ,form_id FROM `form_datos` , `form_campos` ,form_id
WHERE form_datos.id_campo = `form_campos`.id WHERE form_datos.id_campo = `form_campos`.id
AND form_datos.form_id = `form_id`.id AND form_datos.form_id = `form_id`.id
@ -11494,7 +11513,8 @@ mysqli_set_charset($link, "utf8");
id_formulario, nombre as formulario, nombre as formulario, id_formulario, nombre as formulario, nombre as formulario,
campo_nombre, form_campos.id AS id_campo ,contenido ,timestamp, campo_nombre, form_campos.id AS id_campo ,contenido ,timestamp,
control as identificador, form_datos.orden" ;} control as identificador, form_datos.orden" ;}
$consulta = "SELECT $campos
$consulta = "SELECT $campos,form_datos.control
FROM `form_datos` , `form_campos` ,form_id FROM `form_datos` , `form_campos` ,form_id
WHERE form_datos.id_campo = `form_campos`.id WHERE form_datos.id_campo = `form_campos`.id
AND form_datos.form_id = `form_id`.id AND form_datos.form_id = `form_id`.id
@ -11514,7 +11534,7 @@ $sql = mysqli_query($link,$consulta) or die("Error al ejecutar consulta 04 $cons
if (mysqli_num_rows($sql)!='0'){ if (mysqli_num_rows($sql)!='0'){
$i = 1; $i = 1;
$features = array(); $features = array();
$mostrar = mostrar_areas($datos['id'],"","","api"); //$mostrar = mostrar_areas($datos['id'],"","","api");
//$mostrar .= " identificador $datos[identificador] "; //$mostrar .= " identificador $datos[identificador] ";
//print_r($consulta); //print_r($consulta);
// $features[] = $consulta; // $features[] = $consulta;
@ -11533,11 +11553,23 @@ $mostrar = mostrar_areas($datos['id'],"","","api");
if($datos['tipo']=="simple"){ if($datos['tipo']=="simple"){
$contenido = remplacetas('form_datos','id',$row["id_dato"],'contenido',"") ; $contenido = remplacetas('form_datos','id',$row["id_dato"],'contenido',"") ;
//$resultado[0]=str_replace('\n','<br>',$resultado[0]); //$resultado[0]=str_replace('\n','<br>',$resultado[0]);
$contenido_limpio = html_entity_decode("$contenido[0]");
$contenido[0] =stripslashes($contenido[0]);
$is_json = isJson($contenido[0]);
if($is_json == '1'){
///$cadena='{"a":1,"b":2,"c":3,"d":4,"e":5}';
$contenido[0] = json_decode($contenido[0]);
}else{}
$contenido_limpio = $contenido[0];
$id_campo = remplacetas('form_datos','id',$row["id_dato"],'id_campo',"") ; $id_campo = remplacetas('form_datos','id',$row["id_dato"],'id_campo',"") ;
$nombre_campo =remplacetas('form_campos','id',$id_campo[0],'campo_nombre',"") ; $nombre_campo =remplacetas('form_campos','id',$id_campo[0],'campo_nombre',"") ;
$features[] = "'$nombre_campo[0]' : '$contenido_limpio'";//$row[id_campo]; $features[$row["control"]][$nombre_campo[0]] = $contenido_limpio;//$row[id_campo];
// $features[$row['control']][] = datos_array($row["control"],"$datos[id]","") ;
} }
else { else {
if($campo_tipo[0] == '31') { if($campo_tipo[0] == '31') {
@ -11547,6 +11579,7 @@ $mostrar = mostrar_areas($datos['id'],"","","api");
} }
$row["contenido"]=str_replace('\n','<br>',$row["contenido"]); $row["contenido"]=str_replace('\n','<br>',$row["contenido"]);
$row["contenido"] = html_entity_decode("$row[contenido]"); $row["contenido"] = html_entity_decode("$row[contenido]");
$features[] = $row; $features[] = $row;
} }
} }
@ -11732,7 +11765,7 @@ function aplicaciones_listado($id_empresa,$id_form,$tipo,$div){
//xajax_contenido_parallax('$row[id]'); //xajax_contenido_parallax('$row[id]');
} }
else { 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 "; $consulta = "SELECT *, empresa.id AS id_proyecto, razon_social as nombre FROM empresa WHERE estado='1' group by empresa.id ORDER BY empresa.id DESC ";
} }
//if($tipo =='publico'){ $w_publico =" publico ='0'";}else {$w_publico =" publico ='1'";} //if($tipo =='publico'){ $w_publico =" publico ='0'";}else {$w_publico =" publico ='1'";}
@ -11743,7 +11776,7 @@ mysqli_set_charset($link, "utf8");
mysqli_real_escape_string($link,$consulta); mysqli_real_escape_string($link,$consulta);
$sql=mysqli_query($link,$consulta); $sql=mysqli_query($link,$consulta);
//$resultado_array['consulta'] = $consulta;
if (mysqli_num_rows($sql)!='0'){ if (mysqli_num_rows($sql)!='0'){
mysqli_data_seek($sql, 0); mysqli_data_seek($sql, 0);
$resultado_li .= "<ul class='list-group'>"; $resultado_li .= "<ul class='list-group'>";
@ -11861,6 +11894,9 @@ $bg = "background-color: gray ;";
$contenido <br> $contenido <br>
<a class='btn btn-default btn-block ' href='f$row[id]'>Visitar</a> <a class='btn btn-default btn-block ' href='f$row[id]'>Visitar</a>
$botonera</div>"; $botonera</div>";
if($divider > 0 ) { if($divider > 0 ) {
if($i % $divider==0) { $resultado_final = " </div> "; } if($i % $divider==0) { $resultado_final = " </div> "; }
} }
@ -11868,12 +11904,37 @@ $bg = "background-color: gray ;";
if($tipo =="sitemap") { if($tipo =="sitemap") {
$contenido_listado = contenido_listado("$row[id]"); $contenido_listado = contenido_listado("$row[id]");
} }
if($tipo=='array' ){
if($id_empresa ==""){
$resultado_array[$row['id']]['id']="$row[id_proyecto]";
$resultado_array[$row['id']]['link']="proyectos/$row[id_proyecto]";
$resultado_array[$row['id']]['nombre']="$row[razon_social]";
$resultado_array[$row['id']]['slogan']=strip_tags($row['slogan']);
$resultado_array[$row['id']]['web']="$row[web]";
$resultado_array[$row['id']]['email']="$row[email]";
$resultado_array[$row['id']]['logo']="$row[imagen]";
//$resultado_array[$row['id']]['consulta']="$consulta";
}else{
$resultado_array[$row['id']]['nombre']=strip_tags($row['nombre']);
$resultado_array[$row['id']]['descripcion']=strip_tags($row['descripcion']);
$resultado_array[$row['id']]['contenido_publico']=strip_tags($row['publico']);
$resultado_array[$row['id']]['abierto']=strip_tags($row['modificable']);
$resultado_array[$row['id']]['fecha_creacion']=strip_tags($row['creacion']);
$resultado_array[$row['id']]['cantidad_entradas']=formulario_contar($row['id']);
$resultado_array[$row['id']]['proyecto']=strip_tags($row['id_empresa']);
$resultado_array[$row['id']]['link']="proyectos/aplicaciones/$row[id]";
//$resultado_array[$row['id']]['consulta']="$consulta";
}
}
} }
if($tipo =="sitemap") { if($tipo =="sitemap") {
$resultado = "$resultado $contenido_listado"; $resultado = "$resultado $contenido_listado";
} }
$resultado_grid .= "</div>"; $resultado_grid .= "</div>";
$resultado_banner .= "</div>"; $resultado_banner .= "</div>";
$resultado_banner = "$resultado_inicial $resultado_banner $resultado_final"; $resultado_banner = "$resultado_inicial $resultado_banner $resultado_final";
@ -11885,6 +11946,7 @@ $resultado = "$resultado $contenido_listado";
if($tipo =='li') { return $resultado_li.$resultado;} if($tipo =='li') { return $resultado_li.$resultado;}
elseif($tipo =='nav') { return $resultado_nav;} elseif($tipo =='nav') { return $resultado_nav;}
elseif($tipo =='lista') { return $resultado_barra;} elseif($tipo =='lista') { return $resultado_barra;}
elseif($tipo =='array') { return $resultado_array;}
elseif($tipo =='grid') { elseif($tipo =='grid') {
if($div !="") { if($div !="") {
$respuesta = new xajaxResponse('utf-8'); $respuesta = new xajaxResponse('utf-8');

View File

@ -17,6 +17,7 @@ require '../../funciones/funciones.php';
// $xajax->printJavascript("xajax/"); // $xajax->printJavascript("xajax/");
$app = new \Slim\App; $app = new \Slim\App;
require '../src/rutas/aplicaciones.php'; require '../src/rutas/aplicaciones.php';
///Ruta aplicaciones ///Ruta aplicaciones
$app->run(); $app->run();

View File

@ -3,21 +3,40 @@ use \Psr\Http\Message\ServerRequestInterface as Request;
use \Psr\Http\Message\ResponseInterface as Response; use \Psr\Http\Message\ResponseInterface as Response;
$app =new \Slim\app; $app =new \Slim\app;
// aplicaicon por id
$app ->get('/api/aplicaciones/{id}', function(Request $request, Response $response){
/// listado de todos los proyectos
$app ->get('/api/proyectos/', function(Request $request, Response $response){
$array = aplicaciones_listado("",'','array','');
echo json_encode($array);
});
/// aplicaciones por proyecto
$app ->get('/api/proyectos/{id}', function(Request $request, Response $response){
$id= $request->getAttribute('id');
$array = aplicaciones_listado("$id",'','array','');
echo json_encode($array);
});
// entradas a aplicacion por id
$app ->get('/api/proyectos/aplicaciones/{id}', function(Request $request, Response $response){
$datos= array(); $datos= array();
$datos['id']= $request->getAttribute('id'); $datos['id']= $request->getAttribute('id');
$datos['tipo']='simple'; $datos['tipo']='simple';
echo json($datos); echo json($datos);
}); });
// todas las aplicaciones // entradas a aplicacion por identificador
$app ->get('/api/aplicaciones/', function(Request $request, Response $response){ $app ->get('/api/proyectos/aplicaciones/{id}/{identificador}', function(Request $request, Response $response){
$datos= array(); $datos= array();
$datos['id']= ''; //$datos['id']= $request->getAttribute('id');
$datos['identificador']= $request->getAttribute('identificador');
$datos['tipo']='simple'; $datos['tipo']='simple';
echo json('');
echo json($datos);
}); });