ccheng 13 жил өмнө
parent
commit
d227d04405

+ 28 - 0
tripal_core/privacy.php

@@ -0,0 +1,28 @@
+<?php
+/*
+ *  Perform permission check by node_id only if 'node_privacy_byrole' module is enabled
+ */
+function tripal_check_permission_by_node_id ($nid) {
+	if (module_exists('node_privacy_byrole')) {
+		global $user;
+		$roles = $user->roles;
+		$node_access = 0;
+		foreach ($roles AS $rid => $role) {
+			$p_sql = "SELECT grant_view FROM {node_access} WHERE nid=%d AND gid = %d";
+			$access = db_result(db_query($p_sql,$nid, $rid));
+			if ($access == 1) {
+				$node_access = 1;
+				break;
+			}
+		}
+		if ($node_access == 1 || $user->uid == 1) {
+			return TRUE;
+		} else {
+			return FALSE;
+		}
+	
+	// If 'node_privacy_byrole' module is not enabled, return TRUE;
+	} else {
+		return TRUE;
+	}
+}

+ 2 - 2
tripal_core/tripal_core.api.inc

@@ -1309,9 +1309,9 @@ function chado_query($sql) {
 	}
 	_db_query_callback($args, TRUE);
 	$sql = preg_replace_callback(DB_QUERY_REGEXP, '_db_query_callback', $sql);
-	$previous_db = db_set_active('chado');
+	$previous_db = tripal_db_set_active('chado');
 	$results = _db_query($sql);
-	db_set_active($previous_db);
+	tripal_db_set_active($previous_db);
 	return $results;
 }
 

+ 1 - 0
tripal_core/tripal_core.module

@@ -4,6 +4,7 @@ require_once "jobs.php";
 require_once "mviews.php";
 require_once "cvterms.php";
 require_once "chado_install.php";
+require_once "privacy.php";
 
 require_once "tripal_core.api.inc";