cleaning warnings
[mirrors/Kyberia-bloodline.git] / wwwroot / backend / mysql / permissions.inc
index 0b6239641ad42b5b8c31dd7d44d8538adc822b93..da78555fd748431541df0230fd642d38a153bda8 100644 (file)
@@ -4,7 +4,7 @@ class permissions {
 
 //trillion lights to Hierarchy!
 //$node input parameter can be a numeric node_id of a node-to-be-checked or a hash containing node_id,node_vector
-function checkPerms($node) {
+public static function checkPerms($node) {
     // new permissions checking
     global $db;
        
@@ -17,13 +17,13 @@ function checkPerms($node) {
                $node_id=$node;
        }
 
-       if (!$node_vector) {
+       if (empty($node_vector)) {
                $set=$db->query("select node_vector from  nodes where node_id='$node_id'");
                $set->next();
                $node_vector=$set->getString('node_vector');
        }
-
-    $user_id = $_SESSION['user_id'];
+       
+       $user_id=(empty($_SESSION['user_id'])) ? "" : $_SESSION['user_id'];
 
     $perms['r'] = 0;
     $perms['w'] = 0;
@@ -37,6 +37,7 @@ function checkPerms($node) {
     $nv_arr = str_split($node_vector, VECTOR_CHARS);
     $nv_arr = array_map('intval', $nv_arr);
     $node_list = implode(', ', $nv_arr);
+       $node_list.=",$node_id";
 
     $q_np = sprintf('select n.node_id, n.node_creator, length(n.node_vector) as nv_length
                           , n.node_system_access, n.node_external_access, na.node_permission
@@ -45,7 +46,7 @@ function checkPerms($node) {
                                              and na.user_id = %d
                      where n.node_id in(%s)
                      order by nv_length desc', $user_id, $node_list);
-       print $q_np;
+
     $qr_np = $db->query($q_np);
 
     while ($qr_np->next()) {
@@ -55,7 +56,7 @@ function checkPerms($node) {
             $perms['node_permission']      = $qr_np->getString('node_permission');
             $perms['node_system_access']   = $qr_np->getString('node_system_access');
             $perms['node_external_access'] = $qr_np->getString('node_external_access');
-       print_r($perms);
+
             // r/w prava podla system accessu
             if ($perms['node_system_access'] == 'public') {
                 $perms['r'] = 1;
@@ -78,7 +79,7 @@ function checkPerms($node) {
             }
 
             if ($perms['node_system_access'] != 'private'
-                && !$_SESSION['user_id']
+                && (empty($_SESSION['user_id']))
                 && $perms['node_external_access'] == 'yes') {
                     $perms['r'] = 1;
                     $perms['w'] = 0;
@@ -125,7 +126,7 @@ function checkPerms($node) {
             break;
         }
 
-        if ($qr_np->getInt('node_creator') == $user_id) {
+        if ($qr_np->getString('node_creator') == $user_id) {
             $perms['node_permission'] = 'owner';
             $perms['r'] = 1;
             $perms['w'] = 1;
@@ -138,4 +139,4 @@ function checkPerms($node) {
 
 }
 
-?>
\ No newline at end of file
+?>
This page took 0.115142 seconds and 4 git commands to generate.