Quellcode durchsuchen

Updated KEGG module to not show analyses in the organism summary if the analysis node does not grant access to the user.

spficklin vor 13 Jahren
Ursprung
Commit
a9d4603c7d
1 geänderte Dateien mit 12 neuen und 4 gelöschten Zeilen
  1. 12 4
      tripal_analysis_kegg/tripal_analysis_kegg.module

+ 12 - 4
tripal_analysis_kegg/tripal_analysis_kegg.module

@@ -1010,18 +1010,22 @@ function tripal_analysis_kegg_load_organism_kegg_summary($node) {
 
 
    // find analyses that have KEGG terms
    // find analyses that have KEGG terms
    $sql = "
    $sql = "
-     SELECT *
+     SELECT analysis_id
      FROM {kegg_by_organism} KBO
      FROM {kegg_by_organism} KBO
      WHERE organism_id = %d
      WHERE organism_id = %d
      ORDER BY analysis_id DESC
      ORDER BY analysis_id DESC
    ";
    ";
    $previous_db = tripal_db_set_active('chado');
    $previous_db = tripal_db_set_active('chado');
-   $results = db_fetch_object(db_query($sql,$organism->organism_id));
+   $results = db_query($sql,$organism->organism_id);
    tripal_db_set_active($previous_db);
    tripal_db_set_active($previous_db);
 
 
+   # check to ensure we have access to at least one of the GO analyses
    $has_results = 0;
    $has_results = 0;
-   if($results){
-      $has_results = 1;
+   while($analysis = db_fetch_object($results)){
+      $anode = tripal_analysis_get_node($analysis->analysis_id);
+      if(node_access("view",$anode)){
+         $has_results = 1;
+      }
    }
    }
    return array (
    return array (
       'has_results' => $has_results,
       'has_results' => $has_results,
@@ -1187,7 +1191,11 @@ function tripal_analysis_kegg_select_form(&$form_state = NULL,$node){
    $analyses = array();
    $analyses = array();
    $analyses[''] = '';
    $analyses[''] = '';
    while($analysis = db_fetch_object($results)){
    while($analysis = db_fetch_object($results)){
+      # check to see if the user has permission to see this analysis
+      $anode = tripal_analysis_get_node($analysis->analysis_id);
+      if(node_access("view",$anode)){
    		$analyses[$analysis->analysis_id] = "$analysis->analysis_name";
    		$analyses[$analysis->analysis_id] = "$analysis->analysis_name";
+      }
    }
    }
   
   
    global $base_url;
    global $base_url;