after update from 1.8 to 1.8.2 I`ve solved problem with permissions to monitor tab to guest but found another permissions problem. My superadmin user with all privilages cant see screens: "ERROR: Permission denied!"
diff -ruN /root/zabbix-original/frontends/php/api/classes/class.cscreen.php /root/zabbix/frontends/php/api/classes/class.cscreen.php
--- /root/zabbix-original/frontends/php/api/classes/class.cscreen.php 2010-05-12 04:07:36.000000000 -0400
+++ /root/zabbix/frontends/php/api/classes/class.cscreen.php 2010-05-12 04:07:59.000000000 -0400
@@ -100,7 +100,7 @@
// editable + PERMISSION CHECK
// nodeids
- $nodeids = !is_null($options['nodeids']) ? $options['nodeids'] : get_current_nodeid(false);
+ $nodeids = !is_null($options['nodeids']) ? $options['nodeids'] : get_current_nodeid();
// screenids
if(!is_null($options['screenids'])){
diff -ruN /root/zabbix-original/frontends/php/include/screens.inc.php /root/zabbix/frontends/php/include/screens.inc.php
--- /root/zabbix-original/frontends/php/include/screens.inc.php 2010-05-12 04:07:36.000000000 -0400
+++ /root/zabbix/frontends/php/include/screens.inc.php 2010-05-12 04:07:59.000000000 -0400
@@ -29,7 +29,7 @@
$result = false;
- if(DBfetch(DBselect('SELECT screenid FROM screens WHERE screenid='.$screenid.' AND '.DBin_node('screenid', get_current_nodeid($perm))))){
+ if(DBfetch(DBselect('SELECT screenid FROM screens WHERE screenid='.$screenid.' AND '.DBin_node('screenid', get_current_nodeid(null,$perm))))){
$result = true;
$db_result = DBselect('SELECT * FROM screens_items WHERE screenid='.$screenid);
diff -ruN /root/zabbix-original/frontends/php/api/classes/class.cscreen.php /root/zabbix/frontends/php/api/classes/class.cscreen.php
--- /root/zabbix-original/frontends/php/api/classes/class.cscreen.php 2010-05-12 04:07:36.000000000 -0400
+++ /root/zabbix/frontends/php/api/classes/class.cscreen.php 2010-05-12 04:07:59.000000000 -0400
@@ -100,7 +100,7 @@
// editable + PERMISSION CHECK
// nodeids
- $nodeids = !is_null($options['nodeids']) ? $options['nodeids'] : get_current_nodeid(false);
+ $nodeids = !is_null($options['nodeids']) ? $options['nodeids'] : get_current_nodeid();
// screenids
if(!is_null($options['screenids'])){
diff -ruN /root/zabbix-original/frontends/php/include/screens.inc.php /root/zabbix/frontends/php/include/screens.inc.php
--- /root/zabbix-original/frontends/php/include/screens.inc.php 2010-05-12 04:07:36.000000000 -0400
+++ /root/zabbix/frontends/php/include/screens.inc.php 2010-05-12 04:07:59.000000000 -0400
@@ -29,7 +29,7 @@
$result = false;
- if(DBfetch(DBselect('SELECT screenid FROM screens WHERE screenid='.$screenid.' AND '.DBin_node('screenid', get_current_nodeid($perm))))){
+ if(DBfetch(DBselect('SELECT screenid FROM screens WHERE screenid='.$screenid.' AND '.DBin_node('screenid', get_current_nodeid(null,$perm))))){
$result = true;
$db_result = DBselect('SELECT * FROM screens_items WHERE screenid='.$screenid);
Comment