From: Florian G. <re...@us...> - 2007-11-10 21:03:31
|
Update of /cvsroot/perfparse/_perfparse-phpgui In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv9937 Modified Files: perfparse.php utils.php Log Message: make sync to nagios config working again after db schema change Index: utils.php =================================================================== RCS file: /cvsroot/perfparse/_perfparse-phpgui/utils.php,v retrieving revision 1.44 retrieving revision 1.45 diff -C2 -d -r1.44 -r1.45 *** utils.php 28 Sep 2007 21:53:16 -0000 1.44 --- utils.php 10 Nov 2007 21:03:32 -0000 1.45 *************** *** 134,137 **** --- 134,143 ---- } + function get_id_from_hostname(&$db,$host) { + $query='SELECT host_id FROM perfdata_host WHERE host_name=?'; + $ret=$db->GetOne($query,array($host)); + return($ret); + } + function have_host(&$db,$host) { *************** *** 489,492 **** --- 495,505 ---- } + function get_id_from_groupname(&$db,$group_name) { + $query='SELECT group_id from perfdata_groups WHERE group_name=?'; + $ret=$db->GetOne($query,array($group_name)); + return($ret); + } + + function add_group(&$db,$group_name) { $query='insert into perfdata_groups (group_name) values (?)'; *************** *** 510,513 **** --- 523,531 ---- } + function add_host_to_group(&$db,$group,$host) { + $hid=get_id_from_hostname($db,$host); + $gid=get_id_from_groupname($db,$group); + return(add_hostid_to_groupid($db,$gid,$hid)); + } function remove_hostid_from_groupid(&$db,$group_id,$host_id) { *************** *** 830,851 **** function sync_nagios_hostgroups(&$db,&$nagiosconfig) { - // delete all hostgroups - $query='update perfdata_host set group_name=NULL'; - if(!$db->Execute($query)) { - echo "Error: ".$db->ErrorMsg(); - } - $query='delete from perfdata_host_group'; - if(!$db->Execute($query)) { - echo "Error: ".$db->ErrorMsg(); - } // insert nagios config ! $query_gr='insert into perfdata_host_group(group_name) values (?)'; ! $query_ho='update perfdata_host set group_name=? where host_name=?'; foreach($nagiosconfig->hostgroups as $key=>$group) { ! $db->Execute($query_gr,array($group['hostgroup_name'])); foreach($group['members'] as $member) { ! $db->Execute($query_ho,array($group['hostgroup_name'],$member)); } } } --- 848,864 ---- function sync_nagios_hostgroups(&$db,&$nagiosconfig) { // insert nagios config ! $ret=''; foreach($nagiosconfig->hostgroups as $key=>$group) { ! if(add_group($db,$group['hostgroup_name'])) { ! $ret.="Group ".$group['hostgroup_name']." added.<br />"; ! } foreach($group['members'] as $member) { ! if(add_host_to_group($db,$group['hostgroup_name'],$member)) { ! $ret.="Host ".$member." added to group ".$group['hostgroup_name'].".<br />"; ! } } } + return($ret); } Index: perfparse.php =================================================================== RCS file: /cvsroot/perfparse/_perfparse-phpgui/perfparse.php,v retrieving revision 1.57 retrieving revision 1.58 diff -C2 -d -r1.57 -r1.58 *** perfparse.php 28 Sep 2007 21:53:16 -0000 1.57 --- perfparse.php 10 Nov 2007 21:03:32 -0000 1.58 *************** *** 687,695 **** $nagiosconfig=new Nagios(); // read configuration ! $nagiosconfig->ParseConfigFile('../etc/nagios.cfg'); ! //echo "<pre>"; print_r($nagiosconfig); echo "</pre>"; // echo "<pre>"; print_r($nagiosconfig->hostgroups); echo "</pre>"; ! sync_nagios_hostgroups($db,$nagiosconfig); $hgcount=get_groups_hostcount($db); $smarty->assign_by_ref('hgcount',$hgcount); --- 687,697 ---- $nagiosconfig=new Nagios(); // read configuration ! // todo: make path configurable ! $nagiosconfig->ParseConfigFile('../../etc/nagios.cfg'); ! // echo "<pre>"; print_r($nagiosconfig); echo "</pre>"; // echo "<pre>"; print_r($nagiosconfig->hostgroups); echo "</pre>"; ! $msgs=sync_nagios_hostgroups($db,$nagiosconfig); ! $smarty->assign_by_ref('msgs',$msgs); $hgcount=get_groups_hostcount($db); $smarty->assign_by_ref('hgcount',$hgcount); |