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_creazione) 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,Provincia,TipoPM, Latitudine, Longitudine from profilo" . " where ProfiloID = '" . $keyStore . "'"; $retObj = $mysqlconnetion->queryToObject($query); if($retObj != false) { $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(); 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(); 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 . "', Comune = '" . $json_data_body->comune . "', Provincia = '" . $json_data_body->prov . "', 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); }); ?>