Exemple #1
0
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']});