今天分析dashboard.php文件,这个是zabbix的中心
照例,开始的时候是引入文件,定义页面变量
照例,开始的时候是引入文件,定义页面变量
filter,刚开始不知道这个玩意是干嘛滴,分析dashconf.php后才理解,这个就是读取配置的数据,也就是需要过滤的东西。
dashboard.php是总览面板,其中是有个配置总览面板的操作,而配置的时候是向相应的数据表中写入东西,而展示总览面板的时候,应当是从相应表中读取数据,这个读取操作,正是这里的filter,在fliter中发现有个调用:
$dashconf['filterEnable'] = CProfile::get('web.dashconf.filter.enable', 0);
这个就是先来读取配置的过滤是否启用,如果没有启用,就不用去过滤,分析这个语句可以知道,调用的CProfilter类中的get函数,去找到这个函数的定义:
public static function get($idx, $default_value = null, $idx2 = 0) ;
可以发现,这个get函数是个静态的函数,返回相应的数据设置,其中的又调用内部的init函数,再找到这个init函数:
public static function init();
发现其中正是对配置表中数据的读取:
$db_profiles = DBselect(
'SELECT p.*'.&