hdalab/taginfo.php
author ymh <ymh.work@gmail.com>
Tue, 17 Jan 2012 00:19:27 +0100
changeset 112 e7086d345a7c
parent 109 3371a40449c7
child 118 fdf808d7d374
permissions -rw-r--r--
Merge with 6455b65fa3b7f5abc0956f02699b12dbb8295ab6

<?php

header('Content-type: application/json');

require('connect.inc.php');

$label = (isset($_REQUEST['label']) ? $_REQUEST['label'] : NULL);
$max_tag_order = (isset($_REQUEST['mto']) ? pg_escape_string($_REQUEST['mto']) : 12);
$content_count = (isset($_REQUEST['contentcount']) ? pg_escape_string($_REQUEST['contentcount']) : 10);

$resobj = array("requested_label" => $label);

$label = pg_escape_string($label);

$rq = pg_query("SELECT id FROM hdabo_tag WHERE label ILIKE '$label'");
$ids = array();
while($ligne = pg_fetch_row($rq)) {
    $ids[] = $ligne[0];
}

pg_free_result($rq);

$sql = "SELECT COUNT(DISTINCT datasheet_id) FROM hdabo_taggedsheet WHERE tag_id IN (" . join(",", $ids) . ")";

$rq = pg_query($sql);

if ($ligne = pg_fetch_row($rq)) {
    $resobj["content_count"] = $ligne[0];
}

$sql = "SELECT MAX(dbpedia_uri), MAX(wikipedia_url) FROM hdabo_tag WHERE id IN (" . join(",", $ids) . ")";

$rq = pg_query($sql);

if ($ligne = pg_fetch_row($rq)) {
    $resobj["dbpedia_uri"] = $ligne[0];
    $resobj["wikipedia_url"] = $ligne[1];
}

pg_free_result($rq);

if (isset($resobj["dbpedia_uri"]) and $resobj["dbpedia_uri"]) {
    $uri = $resobj["dbpedia_uri"];
    $sql = "SELECT abstract, label, thumbnail FROM dbpedia_fields WHERE dbpedia_uri = '$uri'";
    $rq = pg_query($sql);
    if ($ligne = pg_fetch_row($rq)) {
        $resobj["abstract"] = $ligne[0];
        $resobj["dbpedia_label"] = $ligne[1];
        $resobj["thumbnail"] = $ligne[2];
    }

    pg_free_result($rq);
}

$sql = "SELECT * FROM hdaviz_simple_tag_links WHERE subject ILIKE '$label' OR object ILIKE '$label'";
$rq  = pg_query($sql);

$resobj["links"] = pg_fetch_all($rq);
pg_free_result($rq);

echo json_encode($resobj);

?>