From: preecej Date: Wed, 11 Apr 2012 23:42:19 +0000 (+0000) Subject: Moved permanently to /plantontology repo (/html/services/) X-Git-Url: http://gitweb.planteome.org/?a=commitdiff_plain;h=03ca26cf77e392a09b15e75d5b2bfe67680993e9;p=old-jaiswallab-svn%2F.git Moved permanently to /plantontology repo (/html/services/) svn path=/; revision=323 --- diff --git a/Personnel/preecej/php_singletons/PO_web_service.php b/Personnel/preecej/php_singletons/PO_web_service.php deleted file mode 100644 index 17b4d03..0000000 --- a/Personnel/preecej/php_singletons/PO_web_service.php +++ /dev/null @@ -1,169 +0,0 @@ - 50) { $number_of_terms = 50; } // ceiling - -$format = isset($_GET['format']) && strtolower($_GET['format']) != 'json' - ? strtolower($_GET['format']) - : 'json'; //json is the default - -// includes synonyms in term search results -$inc_synonyms = isset($_GET['inc_synonyms']) ? 1 : 0; - -// includes accession ids listed as synonyms, in both term_search and -// term_detail methods -$inc_accession_synonyms = isset($_GET['inc_accession_synonyms']) ? 1 : 0; - -// filters out results not matching the comma-delimited list of branches -// specified here: -$branch_filter = isset($_GET['branch_filter']) && strlen($_GET['branch_filter']) > 0 - ? "'" . strtolower($_GET['branch_filter']) . "'" - : "'plant_anatomy','plant_structure_development_stage'"; - -/* connect to the db */ -$link = mysql_connect($_SERVER['dev_po_host'], $_SERVER['dev_po_user'], - $_SERVER['dev_po_pw']) or die(mysql_error() . 'Cannot connect to the DB'); -mysql_select_db($_SERVER['dev_po_db'],$link) or die('Cannot select the DB'); - -switch ($request_type) { - - case 'term_search': - $search_value = $_GET['search_value']; - $search_value = isset($_GET['search_value']) && strlen($_GET['search_value']) > 0 - ? strtolower($_GET['search_value']) - : die('Please provide the "search_value" parameter.'); - - /* grab the terms from the db */ - $query = "(SELECT t.name, 'term' as match_type, t.acc, null as parent_name" - . " FROM term t" - . " LEFT JOIN term_definition d ON d.term_id = t.id" - . " LEFT JOIN term_synonym s ON s.term_id = t.id" - . " WHERE t.name LIKE '%$search_value%'" - . " AND t.term_type in (" . $branch_filter . ")" - . " AND t.is_obsolete = 0" - . " AND UCASE(t.name) NOT LIKE 'OBSOLETE%'" - . " AND UCASE(d.term_definition) NOT LIKE 'OBSOLETE%'" - . " GROUP BY t.id)"; - if ($inc_synonyms) { - $query .= " UNION" - . " (SELECT ts.term_synonym as name, 'synonym' as match_type, t2.acc, t2.name as parent_name" - . " FROM term_synonym ts" - . " LEFT JOIN term t2 ON ts.term_id = t2.id" - . " LEFT JOIN term_definition d2 ON d2.term_id = t2.id" - . " WHERE ts.term_synonym LIKE '%$search_value%'"; - if (!$inc_accession_synonyms) { - $query .= " AND ts.acc_synonym IS NULL"; - } - $query .= " AND t2.term_type in (" . $branch_filter . ")" - . " AND t2.is_obsolete = 0" - . " AND UCASE(t2.name) NOT LIKE 'OBSOLETE%'" - . " AND UCASE(d2.term_definition) NOT LIKE 'OBSOLETE%')"; - } - $query .= " ORDER BY name LIMIT $number_of_terms"; - - $result = mysql_query($query,$link) or die('Errant query: '.$query); - - /* create one master array of the records */ - $term_matches = array(); - if(mysql_num_rows($result)) { - while($term = mysql_fetch_assoc($result)) { - $ary_match = array( - 'match'=>$term['name'], - 'match_type'=>$term['match_type'], - 'accession_id'=>$term['acc']); - if ($term['match_type'] == 'synonym') { - $ary_match['is_synonym_of'] = $term['parent_name']; - } - $term_matches[] = $ary_match; - } - } - - /* output in necessary format */ - if($format == 'json') { - header('Content-type: application/json'); - echo json_encode(array('PO_term_search_response'=>$term_matches)); - } - else { - die('Sorry, this request cannot be fulfilled in '.$format.' format.'); - } - break; - - case 'term_detail': - $accession_id = $_GET['accession_id']; - $accession_id = isset($_GET['accession_id']) && strlen($_GET['accession_id']) > 0 - ? $_GET['accession_id'] - : die('Please provide the "accession_id" parameter.'); - - /* grab the ontology data from the db */ - $query = "SELECT DISTINCT t.name, t.acc as 'acc', t.term_type as 'type'," - . " d.term_definition as 'definition', d.term_comment as 'comment'," - . " group_concat(s.term_synonym separator ', ') as synonyms" - . " FROM term t" - . " LEFT JOIN term_definition d ON d.term_id = t.id" - . " LEFT JOIN term_synonym s ON s.term_id = t.id"; - if (!$inc_accession_synonyms) { - $query .= " AND s.acc_synonym IS NULL"; - } - $query .= " WHERE t.acc = '$accession_id'" - . " AND t.term_type in (" . $branch_filter . ")" - . " AND t.is_obsolete = 0" - . " AND UCASE(t.name) NOT LIKE 'OBSOLETE%'" - . " AND UCASE(d.term_definition) NOT LIKE 'OBSOLETE%'" - . " GROUP BY t.id" - . " ORDER BY t.name LIMIT 1"; - $result = mysql_query($query,$link) or die('Errant query: '.$query); - - /* create one master array of the records */ - $term_details = array(); - if(mysql_num_rows($result)) { - while($term = mysql_fetch_assoc($result)) { - $term_details[] = array( - 'accession_id'=>$term['acc'], - 'name'=>$term['name'], - 'aspect'=>$term['type'] == "plant_anatomy" ? "Plant Anatomy" : "Plant Structure Development Stage", - 'definition'=>$term['definition'], - 'comment'=>$term['comment'], - 'synonyms'=>preg_split("/, /",$term['synonyms']) - ); - } - } - /* output in necessary format */ - if($format == 'json') { - header('Content-type: application/json'); - echo json_encode(array('PO_term_detail_response'=>$term_details)); - } - else { - die('Sorry, this request cannot be fulfilled in '.$format.' format.'); - } - break; - default: - die('Sorry, this web service method is not available.'); -} -/* disconnect from the db */ -@mysql_close($link); -?> -