|
@@ -5,9 +5,9 @@
|
|
|
/*******************************************************************************
|
|
|
* Tripal Search initiation
|
|
|
******************************************************************************/
|
|
|
-function tripal_search_init(){
|
|
|
+function tripal_search_init() {
|
|
|
// Add javascript
|
|
|
- drupal_add_js(drupal_get_path('theme', 'tripal').
|
|
|
+ drupal_add_js(drupal_get_path('theme', 'tripal') .
|
|
|
'/js/tripal_search.js');
|
|
|
}
|
|
|
/*******************************************************************************
|
|
@@ -35,11 +35,11 @@ function tripal_search_form_alter(&$form, $form_state, $form_id) {
|
|
|
if ($form_id == 'search_form' && arg(2)) {
|
|
|
// for pagination etc.
|
|
|
$get = drupal_query_string_encode($_GET, array('q'));
|
|
|
- if(preg_match("/node/",arg(1))){
|
|
|
+ if (preg_match("/node/", arg(1))) {
|
|
|
$form['basic']['inline']['fasta'] = array('#type' => 'markup',
|
|
|
'#value' => "<br><br><a id=\"tripal_search_link\" href=\"".
|
|
|
url('tripal_search/'. arg(1) .'/'. urlencode(search_get_keys()),
|
|
|
- array('query' => trim($get)?$get:NULL)).
|
|
|
+ array('query' => trim($get)?$get:NULL)) .
|
|
|
"\">Download features (multi-FASTA format)</a><br><br>");
|
|
|
|
|
|
}
|
|
@@ -58,8 +58,8 @@ function tripal_search_view() {
|
|
|
return drupal_not_found();
|
|
|
}
|
|
|
|
|
|
- if (trim($keys)) {
|
|
|
- $results = tripal_do_search($keys,$type); //var_dump($pager_total['0']);
|
|
|
+ if (trim($keys)) {
|
|
|
+ $results = tripal_do_search($keys, $type); //var_dump($pager_total['0']);
|
|
|
return tripal_search_file($type, $keys, $results);
|
|
|
}
|
|
|
}
|
|
@@ -71,24 +71,24 @@ function tripal_search_file($type, $keys, $results) {
|
|
|
|
|
|
drupal_set_header('Content-Type: text');
|
|
|
drupal_set_header('Content-Disposition: attachment; filename="searchresults.fasta"');
|
|
|
-
|
|
|
+
|
|
|
foreach ($results as $result) {
|
|
|
// Get feature id from drupal database
|
|
|
$sqld = "SELECT * FROM {chado_feature} CF INNER JOIN {node} N on N.nid = CF.nid WHERE CF.nid = %d";
|
|
|
- if($f_objd = db_fetch_object(db_query($sqld, $result->sid))){
|
|
|
+ if ($f_objd = db_fetch_object(db_query($sqld, $result->sid))) {
|
|
|
|
|
|
// Get sequence from chado database
|
|
|
$previous_db = tripal_db_set_active('chado'); // use chado database
|
|
|
$sqlc = "SELECT * FROM {feature} WHERE feature_id = '%s'";
|
|
|
- $f_objc = db_fetch_object(db_query($sqlc,$f_objd->feature_id));
|
|
|
+ $f_objc = db_fetch_object(db_query($sqlc, $f_objd->feature_id));
|
|
|
tripal_db_set_active($previous_db); // now use drupal database
|
|
|
print tripal_feature_return_fasta($f_objc, $desc);
|
|
|
- }
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/*******************************************************************************
|
|
|
- * This code is a duplicate of the do_search function but with the paging
|
|
|
+ * This code is a duplicate of the do_search function but with the paging
|
|
|
* call replaced by a simle db_query call.
|
|
|
*/
|
|
|
function tripal_do_search($keywords, $type, $join1 = '', $where1 = '1 = 1', $arguments1 = array(), $columns2 = 'i.relevance AS score', $join2 = '', $arguments2 = array(), $sort_parameters = 'ORDER BY score DESC') {
|
|
@@ -129,10 +129,10 @@ function tripal_do_search($keywords, $type, $join1 = '', $where1 = '1 = 1', $arg
|
|
|
$select = "SELECT i.type, i.sid, $columns2 FROM {search_index} i $join $join2 WHERE $conditions GROUP BY i.type, i.sid HAVING COUNT(*) >= %d";
|
|
|
$count_select = "SELECT COUNT(*) FROM ($select) n1";
|
|
|
$arguments = array_merge($arguments2, $arguments1, array($query[4]));
|
|
|
-
|
|
|
+
|
|
|
// Do actual search query
|
|
|
// $result = pager_query("$select $sort_parameters", 10, 0, $count_select, $arguments);
|
|
|
- $result = db_query("$select $sort_parameters",$arguments);
|
|
|
+ $result = db_query("$select $sort_parameters", $arguments);
|
|
|
$results = array();
|
|
|
while ($item = db_fetch_object($result)) {
|
|
|
$results[] = $item;
|