function generate_json($req, $format) { if ($format == 1 or $format == 2) { $pgsql_index = MYSQL_NUM; } elseif ($format == 3 or $format == 4) { $pgsql_index = MYSQL_ASSOC; } else { return; } //$dbconn = pg_connect(CONFIG_DB) or die('Connexion impossible : ' . pg_last_error()); $result = gquery($req); // or die('Échec de la requête : ' . pg_last_error()); $data = array(); $i = 0; while ($ligne = mysql_fetch_array($result, $pgsql_index)) { $data[$i] = $ligne; foreach ($data[$i] as &$a) { $a = ascii_to_entities($a); } $i = $i + 1; } //pg_close($dbconn); if ($format == 2 or $format == 4) { $data = flipDiagonally($data); } if (isset($_GET["callback"])) { $callback = $_GET["callback"]; } else { $callback = null; } header('Content-Encoding: UTF-8'); header("Content-type: application/json; charset=UTF-8"); echo $callback . '('; echo html_entity_decode(json_encode($data, JSON_NUMERIC_CHECK)); echo ')'; }
} $queryJSON->searchFilter->{$classificationElements[$i]['name']}->item[0]->delLink = delTotalFromQuery($classificationElements[$i]['name'], $searchURL); } else { //TODO delete all entries of this main category (not for searchText) if ($classificationElements[$i]['name'] != 'searchText') { $queryJSON->searchFilter->{$classificationElements[$i]['name']}->delLink = delTotalFromQuery($classificationElements[$i]['name'], $searchURL); } else { $queryJSON->searchFilter->{$classificationElements[$i]['name']}->delLink = NULL; } $queryJSON->searchFilter->{$classificationElements[$i]['name']}->item = array(); $queryArray = explode(',', ${$classificationElements[$i]['name']}); //loop for the subcategories for ($j = 0; $j < count($queryArray); $j++) { if ($classificationElements[$i]['source'] == 'database') { $identArray = ${$classificationElements[$i]['name'] . "Array"}; $identArray = flipDiagonally($identArray); //find searched id in information from database $key = array_search($queryArray[$j], $identArray['id']); if ($key === false) { $queryJSON->searchFilter->{$classificationElements[$i]['name']}->item[$j]->title = "no information found in database"; } else { $queryJSON->searchFilter->{$classificationElements[$i]['name']}->item[$j]->title = ${$classificationElements[$i]['name'] . "Array"}[$key]['name']; } } else { $queryJSON->searchFilter->{$classificationElements[$i]['name']}->item[$j]->title = $queryArray[$j]; } //generate links to disable filters on a simple way if ($classificationElements[$i]['name'] === 'searchText' & count(explode(',', ${$classificationElements[$i]['name']})) === 1) { $queryJSON->searchFilter->{$classificationElements[$i]['name']}->item[$j]->delLink = NULL; } else { $newSearchLink = delFromQuery($classificationElements[$i]['name'], $searchURL, $queryArray[$j], $queryArray, ${$classificationElements[$i]['name']});