diff --git a/funciones/conex.php b/funciones/conex.php
index fcbe03b..3441d5e 100644
--- a/funciones/conex.php
+++ b/funciones/conex.php
@@ -6,14 +6,17 @@ function Conectarse(){
if(!isset($db)) {
@include("milfs/includes/datos.php");
if(!isset($db)) {
- include("../milfs/includes/datos.php");
+ @include("../milfs/includes/datos.php");
+ }
+ if(!isset($db)) {
+ include("../../includes/datos.php");
}
}
if (!($link=mysqli_connect($servidor,$usuario,$password,$db)))
{
- echo "Error conectando a la base de datos. ";
+ echo " Error conectando a la base de datos. ";
exit();
}
/* if (!mysqli_select_db($db,$link))
diff --git a/funciones/funciones.php b/funciones/funciones.php
index 63e705f..9987d1e 100644
--- a/funciones/funciones.php
+++ b/funciones/funciones.php
@@ -5493,7 +5493,7 @@ if (mysqli_num_rows($sql)!='0'){
$resultado ="
";
while( $row = mysqli_fetch_array( $sql ) ) {
- $descripcion =substr($row[descripcion],0, $length = 80);
+ $descripcion =substr($row['descripcion'],0, $length = 80);
$caracteres = strlen("$descripcion");
if($caracteres > 80) { $descripcion= "$descripcion ... ";}
$resultado .= "
";
@@ -7377,6 +7377,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_nombre = remplacetas('form_campos','id',$campo_titulo[0],'campo_nombre',"") ;
+//$array["consulta"] = "$consulta";
$array["identificador"] = "$identificador";
$array["id_aplicacion"] = "$id_form";
//$array["consulta_form"] = "$id_form[2]";
@@ -7395,6 +7396,16 @@ while($row = mysqli_fetch_array( $sql ))
$contenido_multiple = formulario_valor_campo("$row[form_id]","$id_campo[0]","","$identificador",'',"$row[timestamp]");
$contenido[0] = $contenido_multiple[9];}
else{ $contenido = remplacetas_orden('form_datos','id_campo',$row["id_campo"],'contenido'," control = '$identificador'"," ORDER BY timestamp DESC ") ;}
+ $contenido[0] =stripslashes($contenido[0]);
+ $contenido[0] =stripslashes($contenido[0]);
+ $contenido[0] =stripslashes($contenido[0]);
+ $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',"") ;
// $valor_actual = imprimir_buscador_campo("$id_campo","$row[contenido]",'buscador_drop');
if($campo_tipo[0]=='10'){
@@ -7433,7 +7444,7 @@ while($row = mysqli_fetch_array( $sql ))
//$array[id_campo] = $row[id_campo];
if($id_campo[0] == $campo_titulo[0] or $nombre_campo[0] == 'Titulo' ) {
- $array['title'] = strip_tags(html_entity_decode("$contenido[0]"));
+ $array['title'] = strip_tags(html_entity_decode($contenido[0]));
}
//// PRIVACIDAD
$privado = remplacetas('form_parametrizacion','campo',"$row[form_id]",'opcion'," tabla='form_id' AND descripcion ='$id_campo[0]' AND opcion REGEXP '^privacidad:' ") ;
@@ -7441,7 +7452,7 @@ while($row = mysqli_fetch_array( $sql ))
$privado = @$privado[1];
/// PRIVACIDAD
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]";
$uri = "$_SESSION[site]I$identificador";
$array['url'] = "$uri";
@@ -7462,6 +7473,12 @@ $array["responder"]= $contenido_respuestas;//"$contenido_respuestas $row[control
return $array;
}
+function isJson($str) {
+ $json = json_decode($str);
+ return (json_last_error() === JSON_ERROR_NONE);
+}
+
+
function array_respuestas($id,$identificador,$plantilla) {
if($id=='') {return;}
$id = mysql_seguridad($id);
@@ -11431,7 +11448,7 @@ mysqli_set_charset($link, "utf8");
$nuevos_datos = $datos;
$nuevos_datos["identificador"]="$row[control]";
$nuevos_datos["tipo"]="array";
- $features[] = datos_array($row["control"],"$datos[id]","") ;
+ $features[$row['control']][] = datos_array($row["control"],"$datos[id]","") ;
//$features['consulta'] = $consulta;
}
else {
@@ -11447,6 +11464,7 @@ mysqli_set_charset($link, "utf8");
}else{}
if($datos["tipo"] == "array" ) {
+
$resultado = $features;
}else {
@@ -11472,13 +11490,14 @@ mysqli_set_charset($link, "utf8");
}
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
id_formulario, nombre as formulario, campo_nombre, form_campos.id AS
id_campo ,contenido ,timestamp, control as identificador ,
form_datos.orden" ;}
- $consulta = "SELECT $campos
+ $consulta = "SELECT $campos,form_datos.control
FROM `form_datos` , `form_campos` ,form_id
WHERE form_datos.id_campo = `form_campos`.id
AND form_datos.form_id = `form_id`.id
@@ -11493,7 +11512,8 @@ mysqli_set_charset($link, "utf8");
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
+
+ $consulta = "SELECT $campos,form_datos.control
FROM `form_datos` , `form_campos` ,form_id
WHERE form_datos.id_campo = `form_campos`.id
AND form_datos.form_id = `form_id`.id
@@ -11513,7 +11533,7 @@ $sql = mysqli_query($link,$consulta) or die("Error al ejecutar consulta 04 $cons
if (mysqli_num_rows($sql)!='0'){
$i = 1;
$features = array();
-$mostrar = mostrar_areas($datos['id'],"","","api");
+//$mostrar = mostrar_areas($datos['id'],"","","api");
//$mostrar .= " identificador $datos[identificador] ";
//print_r($consulta);
// $features[] = $consulta;
@@ -11532,11 +11552,23 @@ $mostrar = mostrar_areas($datos['id'],"","","api");
if($datos['tipo']=="simple"){
$contenido = remplacetas('form_datos','id',$row["id_dato"],'contenido',"") ;
//$resultado[0]=str_replace('\n','
',$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',"") ;
$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 {
if($campo_tipo[0] == '31') {
@@ -11546,6 +11578,7 @@ $mostrar = mostrar_areas($datos['id'],"","","api");
}
$row["contenido"]=str_replace('\n','
',$row["contenido"]);
$row["contenido"] = html_entity_decode("$row[contenido]");
+
$features[] = $row;
}
}
@@ -11731,7 +11764,7 @@ function aplicaciones_listado($id_empresa,$id_form,$tipo,$div){
//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 ";
+ $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'";}
@@ -11742,7 +11775,7 @@ mysqli_set_charset($link, "utf8");
mysqli_real_escape_string($link,$consulta);
$sql=mysqli_query($link,$consulta);
-
+//$resultado_array['consulta'] = $consulta;
if (mysqli_num_rows($sql)!='0'){
mysqli_data_seek($sql, 0);
$resultado_li .= "
";
@@ -11860,6 +11893,9 @@ $bg = "background-color: gray ;";
$contenido
Visitar
$botonera
";
+
+
+
if($divider > 0 ) {
if($i % $divider==0) { $resultado_final = " "; }
}
@@ -11867,12 +11903,37 @@ $bg = "background-color: gray ;";
if($tipo =="sitemap") {
$contenido_listado = contenido_listado("$row[id]");
}
+ if($tipo=='array' ){
+ if($id_empresa ==""){
+ $resultado_array[$row['id']]['id']="$row[id_proyecto]";
+ $resultado_array[$row['id']]['link']="proyectos/$row[id_proyecto]";
+ $resultado_array[$row['id']]['nombre']="$row[razon_social]";
+ $resultado_array[$row['id']]['slogan']=strip_tags($row['slogan']);
+ $resultado_array[$row['id']]['web']="$row[web]";
+ $resultado_array[$row['id']]['email']="$row[email]";
+ $resultado_array[$row['id']]['logo']="$row[imagen]";
+ //$resultado_array[$row['id']]['consulta']="$consulta";
+ }else{
+ $resultado_array[$row['id']]['nombre']=strip_tags($row['nombre']);
+ $resultado_array[$row['id']]['descripcion']=strip_tags($row['descripcion']);
+ $resultado_array[$row['id']]['contenido_publico']=strip_tags($row['publico']);
+ $resultado_array[$row['id']]['abierto']=strip_tags($row['modificable']);
+ $resultado_array[$row['id']]['fecha_creacion']=strip_tags($row['creacion']);
+ $resultado_array[$row['id']]['cantidad_entradas']=formulario_contar($row['id']);
+ $resultado_array[$row['id']]['proyecto']=strip_tags($row['id_empresa']);
+ $resultado_array[$row['id']]['link']="proyectos/aplicaciones/$row[id]";
+
+ //$resultado_array[$row['id']]['consulta']="$consulta";
+ }
+ }
}
if($tipo =="sitemap") {
$resultado = "$resultado $contenido_listado";
}
+
+
$resultado_grid .= "";
$resultado_banner .= "";
$resultado_banner = "$resultado_inicial $resultado_banner $resultado_final";
@@ -11884,6 +11945,7 @@ $resultado = "$resultado $contenido_listado";
if($tipo =='li') { return $resultado_li.$resultado;}
elseif($tipo =='nav') { return $resultado_nav;}
elseif($tipo =='lista') { return $resultado_barra;}
+elseif($tipo =='array') { return $resultado_array;}
elseif($tipo =='grid') {
if($div !="") {
$respuesta = new xajaxResponse('utf-8');
diff --git a/rest/composer.json b/rest/composer.json
new file mode 100644
index 0000000..49b7ae5
--- /dev/null
+++ b/rest/composer.json
@@ -0,0 +1,5 @@
+{
+ "require": {
+ "slim/slim": "^3.0"
+ }
+}
diff --git a/rest/composer.lock b/rest/composer.lock
new file mode 100644
index 0000000..8017c48
--- /dev/null
+++ b/rest/composer.lock
@@ -0,0 +1,316 @@
+{
+ "_readme": [
+ "This file locks the dependencies of your project to a known state",
+ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
+ "This file is @generated automatically"
+ ],
+ "hash": "6f5d3d05d70b58db9144bb1ca70c8698",
+ "content-hash": "3b0766dbcef4dfb1a4a2012fef8611d8",
+ "packages": [
+ {
+ "name": "container-interop/container-interop",
+ "version": "1.2.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/container-interop/container-interop.git",
+ "reference": "79cbf1341c22ec75643d841642dd5d6acd83bdb8"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/container-interop/container-interop/zipball/79cbf1341c22ec75643d841642dd5d6acd83bdb8",
+ "reference": "79cbf1341c22ec75643d841642dd5d6acd83bdb8",
+ "shasum": ""
+ },
+ "require": {
+ "psr/container": "^1.0"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Interop\\Container\\": "src/Interop/Container/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "description": "Promoting the interoperability of container objects (DIC, SL, etc.)",
+ "homepage": "https://github.com/container-interop/container-interop",
+ "time": "2017-02-14 19:40:03"
+ },
+ {
+ "name": "nikic/fast-route",
+ "version": "v1.3.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/nikic/FastRoute.git",
+ "reference": "181d480e08d9476e61381e04a71b34dc0432e812"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/nikic/FastRoute/zipball/181d480e08d9476e61381e04a71b34dc0432e812",
+ "reference": "181d480e08d9476e61381e04a71b34dc0432e812",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.4.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^4.8.35|~5.7"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "FastRoute\\": "src/"
+ },
+ "files": [
+ "src/functions.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Nikita Popov",
+ "email": "nikic@php.net"
+ }
+ ],
+ "description": "Fast request router for PHP",
+ "keywords": [
+ "router",
+ "routing"
+ ],
+ "time": "2018-02-13 20:26:39"
+ },
+ {
+ "name": "pimple/pimple",
+ "version": "v3.2.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/silexphp/Pimple.git",
+ "reference": "9e403941ef9d65d20cba7d54e29fe906db42cf32"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/silexphp/Pimple/zipball/9e403941ef9d65d20cba7d54e29fe906db42cf32",
+ "reference": "9e403941ef9d65d20cba7d54e29fe906db42cf32",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.0",
+ "psr/container": "^1.0"
+ },
+ "require-dev": {
+ "symfony/phpunit-bridge": "^3.2"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.2.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-0": {
+ "Pimple": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ }
+ ],
+ "description": "Pimple, a simple Dependency Injection Container",
+ "homepage": "http://pimple.sensiolabs.org",
+ "keywords": [
+ "container",
+ "dependency injection"
+ ],
+ "time": "2018-01-21 07:42:36"
+ },
+ {
+ "name": "psr/container",
+ "version": "1.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/php-fig/container.git",
+ "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f",
+ "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.0.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Psr\\Container\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "PHP-FIG",
+ "homepage": "http://www.php-fig.org/"
+ }
+ ],
+ "description": "Common Container Interface (PHP FIG PSR-11)",
+ "homepage": "https://github.com/php-fig/container",
+ "keywords": [
+ "PSR-11",
+ "container",
+ "container-interface",
+ "container-interop",
+ "psr"
+ ],
+ "time": "2017-02-14 16:28:37"
+ },
+ {
+ "name": "psr/http-message",
+ "version": "1.0.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/php-fig/http-message.git",
+ "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363",
+ "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.0.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Psr\\Http\\Message\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "PHP-FIG",
+ "homepage": "http://www.php-fig.org/"
+ }
+ ],
+ "description": "Common interface for HTTP messages",
+ "homepage": "https://github.com/php-fig/http-message",
+ "keywords": [
+ "http",
+ "http-message",
+ "psr",
+ "psr-7",
+ "request",
+ "response"
+ ],
+ "time": "2016-08-06 14:39:51"
+ },
+ {
+ "name": "slim/slim",
+ "version": "3.11.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/slimphp/Slim.git",
+ "reference": "d378e70431e78ee92ee32ddde61ecc72edf5dc0a"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/slimphp/Slim/zipball/d378e70431e78ee92ee32ddde61ecc72edf5dc0a",
+ "reference": "d378e70431e78ee92ee32ddde61ecc72edf5dc0a",
+ "shasum": ""
+ },
+ "require": {
+ "container-interop/container-interop": "^1.2",
+ "nikic/fast-route": "^1.0",
+ "php": ">=5.5.0",
+ "pimple/pimple": "^3.0",
+ "psr/container": "^1.0",
+ "psr/http-message": "^1.0"
+ },
+ "provide": {
+ "psr/http-message-implementation": "1.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^4.0",
+ "squizlabs/php_codesniffer": "^2.5"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Slim\\": "Slim"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Rob Allen",
+ "email": "rob@akrabat.com",
+ "homepage": "http://akrabat.com"
+ },
+ {
+ "name": "Josh Lockhart",
+ "email": "hello@joshlockhart.com",
+ "homepage": "https://joshlockhart.com"
+ },
+ {
+ "name": "Gabriel Manricks",
+ "email": "gmanricks@me.com",
+ "homepage": "http://gabrielmanricks.com"
+ },
+ {
+ "name": "Andrew Smith",
+ "email": "a.smith@silentworks.co.uk",
+ "homepage": "http://silentworks.co.uk"
+ }
+ ],
+ "description": "Slim is a PHP micro framework that helps you quickly write simple yet powerful web applications and APIs",
+ "homepage": "https://slimframework.com",
+ "keywords": [
+ "api",
+ "framework",
+ "micro",
+ "router"
+ ],
+ "time": "2018-09-16 10:54:21"
+ }
+ ],
+ "packages-dev": [],
+ "aliases": [],
+ "minimum-stability": "stable",
+ "stability-flags": [],
+ "prefer-stable": false,
+ "prefer-lowest": false,
+ "platform": [],
+ "platform-dev": []
+}
diff --git a/rest/public/.htaccess b/rest/public/.htaccess
new file mode 100644
index 0000000..51c6bee
--- /dev/null
+++ b/rest/public/.htaccess
@@ -0,0 +1,3 @@
+RewriteEngine On
+RewriteCond %{REQUEST_FILENAME} !-f
+RewriteRule ^ index.php [QSA,L]
diff --git a/rest/public/index.php b/rest/public/index.php
new file mode 100644
index 0000000..86b41a6
--- /dev/null
+++ b/rest/public/index.php
@@ -0,0 +1,24 @@
+processRequests();
+ // $xajax->printJavascript("xajax/");
+$app = new \Slim\App;
+require '../src/rutas/aplicaciones.php';
+
+///Ruta aplicaciones
+
+$app->run();
+?>
diff --git a/rest/src/rutas/aplicaciones.php b/rest/src/rutas/aplicaciones.php
new file mode 100644
index 0000000..7b30972
--- /dev/null
+++ b/rest/src/rutas/aplicaciones.php
@@ -0,0 +1,42 @@
+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['id']= $request->getAttribute('id');
+ $datos['tipo']='simple';
+
+ echo json($datos);
+ });
+// entradas a aplicacion por identificador
+$app ->get('/api/proyectos/aplicaciones/{id}/{identificador}', function(Request $request, Response $response){
+ $datos= array();
+ //$datos['id']= $request->getAttribute('id');
+ $datos['identificador']= $request->getAttribute('identificador');
+ $datos['tipo']='simple';
+
+ echo json($datos);
+
+ });
diff --git a/rest/vendor/autoload.php b/rest/vendor/autoload.php
new file mode 100644
index 0000000..ef30777
--- /dev/null
+++ b/rest/vendor/autoload.php
@@ -0,0 +1,7 @@
+
+ * Jordi Boggiano