Files
IlLievitario-Service/profile.php

183 lines
8.1 KiB
PHP

<?php
// inclusione del file contenente la classe
//include "./MySqlClass.php";
//include "./utility.php";
$app->get('/profile/statusCache', function () use ($app) {
$callbackFn = $app->request()->get('callback');
$mysqlconnetion = new MysqlClass;
$query = "select 0 as ID_CATEGORIA, MAX(data_creazione) as LastDateModified from categorie" .
" UNION" .
" select ID_CATEGORIA, MAX(Data_modifica) as LastDateModified from ricette" .
" GROUP BY ID_CATEGORIA";
$retObj = $mysqlconnetion->queryToObject($query);
$mysqlconnetion->disconnetti();
returnJson($app, $callbackFn, $retObj);
});
$app->get('/profile/:keyStore/ricetta/:ricetta_id', function ($keyStore, $ricetta_id) use ($app) {
$callbackFn = $app->request()->get('callback');
$mysqlconnetion = new MysqlClass;
$query = "select COUNT(*) as Exist FROM blocco_note where ricetta_id = " . $ricetta_id . " AND ProfiloID = '" . $keyStore . "'";
$retObj = $mysqlconnetion->queryToObject($query);
$mysqlconnetion->disconnetti();
returnJson($app, $callbackFn, $retObj[0]["Exist"]);
});
$app->post('/profile/ricetta', function () use ($app) {
$callbackFn = $app->request()->get('callback');
$json_data_body = json_decode($app->request()->post('dataPair'));
$mysqlconnetion = new MysqlClass;
$query = "update profilo set BloccoNoteUpdated = CURRENT_TIMESTAMP WHERE ProfiloID = '" . $json_data_body->keyStore . "'";
$retNewID = $mysqlconnetion->insertRecord($query);
$query = "insert into blocco_note(ricetta_id, ProfiloID) values (" . $json_data_body->ricetta_id . ", '" . $json_data_body->keyStore . "')";
$retNewID = $mysqlconnetion->insertRecord($query);
$mysqlconnetion->disconnetti();
returnJson($app, $callbackFn, $retNewID);
});
$app->delete('/profile/:keyStore/ricetta/:ricetta_id', function ($keyStore, $ricetta_id) use ($app) {
//$callbackFn = $app->request()->params('callback');
$mysqlconnetion = new MysqlClass;
$query = "delete from blocco_note where ricetta_id = " . $ricetta_id . " AND ProfiloID = '" . $keyStore . "'";
$retNewID = $mysqlconnetion->insertRecord($query);
$mysqlconnetion->disconnetti();
echo $retNewID;
//returnJson($app, $callbackFn, $retNewID);
});
$app->delete('/profile/:keyStore/ricette', function ($keyStore) use ($app) {
$callbackFn = $app->request()->get('callback');
$mysqlconnetion = new MysqlClass;
$query = "delete from blocco_note where ProfiloID = '" . $keyStore . "'";
$retNewID = $mysqlconnetion->insertRecord($query);
$mysqlconnetion->disconnetti();
returnJson($app, $callbackFn, $retNewID);
});
$app->get('/profile/:keyStore/ricette', function ($keyStore) use ($app) {
$callbackFn = $app->request()->get('callback');
$mysqlconnetion = new MysqlClass;
$query = "select ID as ricetta_id, titolo, autore, valutazione, difficolta from ricette" .
" INNER JOIN blocco_note ON blocco_note.ricetta_id = ricette.id" .
" where blocco_note.ProfiloID = '" . $keyStore . "' order by titolo, autore";
$retObj = $mysqlconnetion->queryToObject($query);
$mysqlconnetion->disconnetti();
foreach ($retObj as $ele) {
$ele["titolo"] = html_entity_decode($ele["titolo"]);
}
returnJson($app, $callbackFn, $retObj);
});
$app->get('/profile/:keyStore', function ($keyStore) use ($app) {
$callbackFn = $app->request()->get('callback');
$mysqlconnetion = new MysqlClass;
$query = "SELECT ProfiloID,TipoAccesso,RisultatiRicerca,TemaUI,Name,Gender,0 AS NumRicette,BloccoNoteUpdated,Email,bSpacciatore,bPrivacy,Cap,Comune,Stato, Provincia,TipoPM,Note, Latitudine, Longitudine from profilo" .
" where ProfiloID = '" . $keyStore . "'";
$retObj = $mysqlconnetion->queryToObject($query);
if($retObj != false)
{
$retObj[0]["Name"] = html_entity_decode($retObj[0]["Name"], ENT_COMPAT | ENT_HTML401, 'ISO-8859-1');
$retObj[0]["Note"] = html_entity_decode($retObj[0]["Note"], ENT_COMPAT | ENT_HTML401, 'ISO-8859-1');
$retObj[0]["Comune"] = html_entity_decode($retObj[0]["Comune"], ENT_COMPAT | ENT_HTML401, 'ISO-8859-1');
$retObj[0]["Provincia"] = html_entity_decode($retObj[0]["Provincia"], ENT_COMPAT | ENT_HTML401, 'ISO-8859-1');
$query = "update profilo set PenultimoAccesso = UltimoAccesso, UltimoAccesso = NOW() where ProfiloID = '" . $keyStore . "'";
$mysqlconnetion->insertRecord($query);
$query = "SELECT COUNT( * ) as NumRicette FROM ricette WHERE data_creazione > ( SELECT PenultimoAccesso FROM profilo " .
"WHERE `ProfiloID` = '" . $keyStore . "' )";
$retObj2 = $mysqlconnetion->queryToObject($query);
$retObj[0]["NumRicette"] = $retObj2[0]["NumRicette"];
}
returnJson($app, $callbackFn, $retObj);
});
$app->get('/profile/province(/:iniz)', function ($iniz = "") use ($app) {
$callbackFn = $app->request()->get('callback');
$mysqlconnetion = new MysqlClass;
$where= "";
if($iniz!="")
$where = "WHERE Provincia like '" . $iniz . "%' ";
$query = "select DISTINCT Provincia from comuni " . $where . "ORDER BY Provincia";
$retObj = $mysqlconnetion->queryToObject($query);
$mysqlconnetion->disconnetti();
foreach ($retObj as $ele) {
if($ele["Provincia"]!=null)
$ele["Provincia"] = html_entity_decode($ele["Provincia"], ENT_COMPAT | ENT_HTML401, 'ISO-8859-1');
}
returnJson($app, $callbackFn, $retObj);
});
$app->get('/profile/comuni/:prov(/:iniz)', function ($prov ,$iniz = "") use ($app) {
$callbackFn = $app->request()->get('callback');
$mysqlconnetion = new MysqlClass;
$where= "";
if($iniz!="")
$where = "AND Comune like '" . $iniz . "%' ";
$query = "select Comune, CAP from comuni where Provincia = '" . $prov . "' " . $where . "ORDER BY Comune";
$retObj = $mysqlconnetion->queryToObject($query);
$mysqlconnetion->disconnetti();
foreach ($retObj as $ele) {
if($ele["Comune"]!=null)
$ele["Comune"] = html_entity_decode($ele["Comune"], ENT_COMPAT | ENT_HTML401, 'ISO-8859-1');
}
returnJson($app, $callbackFn, $retObj);
});
$app->post('/profile', function () use ($app) {
$callbackFn = $app->request()->get('callback');
$json_data_body = json_decode($app->request()->post('dataPair'));
$mysqlconnetion = new MysqlClass;
$query = "insert into profilo(ProfiloID, Name, Email, Gender, TipoAccesso, RisultatiRicerca, TemaUI, UltimoAccesso, CreatoIl) values ('" .
$json_data_body->keyStore . "', '" . str_replace("'", "''", htmlentities($json_data_body->name, null, "UTF-8")) . "', '" . $json_data_body->email . "', '" . $json_data_body->gender . "', '" . $json_data_body->type . "', '" . $json_data_body->risRic . "', '" . $json_data_body->tema . "', NOW(), NOW())";
$retNewID = $mysqlconnetion->insertRecord($query);
$mysqlconnetion->disconnetti();
returnJson($app, $callbackFn, $retNewID);
});
$app->put('/profile', function () use ($app) {
$callbackFn = $app->request()->get('callback');
$json_data_body = json_decode($app->request()->post('dataPair'));
$mysqlconnetion = new MysqlClass;
$query = "update profilo set RisultatiRicerca = '" . $json_data_body->risRic .
"', TemaUI = '" . $json_data_body->tema .
"', Email = '" . $json_data_body->email .
"', bSpacciatore = " . $json_data_body->isSpacc .
", bPrivacy = " . $json_data_body->privacy .
", Cap = '" . $json_data_body->cap .
"', Stato = '" . $json_data_body->stato .
"', Comune = '" . htmlentities($json_data_body->comune, null, "UTF-8") .
"', Provincia = '" . htmlentities($json_data_body->prov, null, "UTF-8") .
"', Note = '" . htmlentities($json_data_body->note, null, "UTF-8") .
"', TipoPM = " . $json_data_body->tipopm .
", Latitudine = " . $json_data_body->lat .
", Longitudine = " . $json_data_body->lng .
" where ProfiloID = '" . $json_data_body->keyStore . "'";
$retNewID = $mysqlconnetion->insertRecord($query);
$mysqlconnetion->disconnetti();
returnJson($app, $callbackFn, $retNewID);
});
?>