From: Florian G. <re...@us...> - 2007-09-05 22:19:03
|
Update of /cvsroot/perfparse/_perfparse-phpgui In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2332/phpgui Modified Files: Makefile.am Makefile.in perfparse.php utils.php Log Message: some work on ui Index: utils.php =================================================================== RCS file: /cvsroot/perfparse/_perfparse-phpgui/utils.php,v retrieving revision 1.41 retrieving revision 1.42 diff -C2 -d -r1.41 -r1.42 *** utils.php 3 Sep 2007 22:56:25 -0000 1.41 --- utils.php 5 Sep 2007 22:18:30 -0000 1.42 *************** *** 587,590 **** --- 587,613 ---- // if policy set in metric + $ret=get_metric_bin_del_policy($db,$metric_id); + if($ret===FALSE || $ret['source']) { + return($ret); + } + + $metricprops=get_metric_props($db,$metric_id); + // if policy set in host + $ret=get_host_bin_del_policy($db,$metricprops['host_id']); + if($ret===FALSE || $ret['source']) { + return($ret); + } + + // if set in group + $ret=get_group_bin_del_policy_from_hostid($db,$host_id); + if($ret===FALSE || $ret['source']) { + return($ret); + } + + + + } + + function get_metric_bin_del_policy(&$db,$metric_id) { $query='select bin_delete_policy_individual,policy_name,delete_policy_seconds from perfdata_service_metric left join perfdata_delete_policy on bin_delete_policy_id=policy_id where metric_id=?'; *************** *** 598,608 **** return(array('source'=>'Metric Policy','policy_name'=>$res['policy_name'],'policy_seconds'=>$res['delete_policy_seconds'])); } // if policy set in host ! $query='select h.host_id,h.bin_delete_policy_individual,d.policy_name,d.delete_policy_seconds from ! perfdata_service_metric m, perfdata_service s, perfdata_host h left join ! perfdata_delete_policy d on h.bin_delete_policy_id=d.policy_id where m.metric_id=? ! and s.service_id=m.service_id ! and s.host_id=h.host_id'; if(!$res=$db->GetRow($query,array($metric_id))) { return(FALSE); --- 621,632 ---- return(array('source'=>'Metric Policy','policy_name'=>$res['policy_name'],'policy_seconds'=>$res['delete_policy_seconds'])); } + return(array('source'=>'none')); + } + function get_host_bin_del_policy(&$db,$host_id) { // if policy set in host ! $query='select h.bin_delete_policy_individual,d.policy_name,d.delete_policy_seconds from ! perfdata_host h left join ! perfdata_delete_policy d on h.bin_delete_policy_id=d.policy_id where h.host_id=? '; if(!$res=$db->GetRow($query,array($metric_id))) { return(FALSE); *************** *** 614,637 **** return(array('source'=>'Host Policy','policy_name'=>$res['policy_name'],'policy_seconds'=>$res['delete_policy_seconds'])); } ! $tmp_hostid=$res['host_id']; ! // if policy is set in group. If more than one group match, then the group with the longest policy matches. // Individual settings match first. $query='select g.bin_delete_policy_individual,d.policy_name,d.delete_policy_seconds from perfdata_host h, perfdata_host_groups gh, perfdata_groups g left join perfdata_delete_policy d on ! g.bin_delete_policy_id=d.policy_id ! where h.host_id=? and h.host_id=hg.host_id and hg.group_id=g.group_id'; if(!$res=$db->GetAll($query,array($tmp_hostid))) { return(FALSE); } - print_r($res); - - - } - /* graph functions */ --- 638,675 ---- return(array('source'=>'Host Policy','policy_name'=>$res['policy_name'],'policy_seconds'=>$res['delete_policy_seconds'])); } ! return(array('source'=>'none')); ! } ! function get_group_bin_del_policy(&$db,$group_id) { ! // if policy set in group ! $query='select g.bin_delete_policy_individual,d.policy_name,d.delete_policy_seconds from ! perfdata_groups g left join ! perfdata_delete_policy d on g.bin_delete_policy_id=d.policy_id where g.group_id=? '; ! if(!$res=$db->GetRow($query,array($group_id))) { ! return(FALSE); ! } ! if($res['bin_delete_policy_individual']!==NULL) { ! return(array('source'=>'Group Individual','policy_seconds'=>$res['bin_delete_policy_individual'])); ! } ! if($res['policy_name']!==NULL) { ! return(array('source'=>'Group Policy','policy_name'=>$res['policy_name'],'policy_seconds'=>$res['delete_policy_seconds'])); ! } ! return(array('source'=>'none')); ! } ! ! function get_group_bin_del_policy_from_hostid(&$db,$host_id) { ! // if policy is set in group. If more than one group match, then the group with the longest policy matches. // Individual settings match first. $query='select g.bin_delete_policy_individual,d.policy_name,d.delete_policy_seconds from perfdata_host h, perfdata_host_groups gh, perfdata_groups g left join perfdata_delete_policy d on ! g.bin_delete_policy_id=d.policy_id ! where h.host_id=? and h.host_id=hg.host_id and hg.group_id=g.group_id'; if(!$res=$db->GetAll($query,array($tmp_hostid))) { return(FALSE); } print_r($res); } /* graph functions */ Index: Makefile.in =================================================================== RCS file: /cvsroot/perfparse/_perfparse-phpgui/Makefile.in,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** Makefile.in 3 Sep 2007 22:56:25 -0000 1.12 --- Makefile.in 5 Sep 2007 22:18:30 -0000 1.13 *************** *** 283,286 **** --- 283,287 ---- templates/edit_delete_policies.tpl.html \ templates/edit_default_delete_policies.tpl.html \ + templates/show_effective_del_policies.tpl.html \ templates/edit_host_list.tpl.html \ templates/select_metric.tpl.html \ Index: Makefile.am =================================================================== RCS file: /cvsroot/perfparse/_perfparse-phpgui/Makefile.am,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** Makefile.am 3 Sep 2007 22:56:25 -0000 1.6 --- Makefile.am 5 Sep 2007 22:18:30 -0000 1.7 *************** *** 35,38 **** --- 35,39 ---- templates/edit_delete_policies.tpl.html \ templates/edit_default_delete_policies.tpl.html \ + templates/show_effective_del_policies.tpl.html \ templates/edit_host_list.tpl.html \ templates/select_metric.tpl.html \ Index: perfparse.php =================================================================== RCS file: /cvsroot/perfparse/_perfparse-phpgui/perfparse.php,v retrieving revision 1.54 retrieving revision 1.55 diff -C2 -d -r1.54 -r1.55 *** perfparse.php 3 Sep 2007 23:03:48 -0000 1.54 --- perfparse.php 5 Sep 2007 22:18:30 -0000 1.55 *************** *** 611,620 **** --- 611,630 ---- case 'show_effective_del_policies': // get all needed object names and ids + + // group info $groupinfos=get_groups($db); + $smarty->assign_by_ref('groupinfos',$groupinfos); get_request_var('group_id','int',FALSE); if($group_id != FALSE) { $hostinfos=get_groupId_hostinfos($db,$group_id); + $smarty->assign_by_ref('hostinfos',$hostinfos); + + if($bin_group_policy=get_group_bin_del_policy($db,$group_id)==FALSE) { + $smarty->assign('sql_error',$db->ErrorMsg()); + } + $smarty->assign_by_ref('bin_group_policy',$bin_group_policy); } + get_request_var('host_id','int',FALSE); if($host_id != FALSE) { *************** *** 625,628 **** --- 635,639 ---- echo "<pre>hostinfos:\n"; print_r($hostinfos); echo "\n</pre>"; echo "<pre>metricsinfos:\n"; print_r($metricsinfos); echo "\n</pre>"; + echo "<pre>bin_group_policy:\n"; print_r($bin_group_policy); echo "\n</pre>"; if($effectivepolicy=get_effective_bin_del_policy($db,1/* testing */)==FALSE) { |