This repository has been archived on 2020-01-20. You can view files and clone it, but cannot push or open issues or pull requests.
lilac/classes/NagiosServiceGroup.php
2011-08-18 14:54:38 +00:00

68 lines
2 KiB
PHP
Executable file

<?php
require_once 'om/BaseNagiosServiceGroup.php';
/**
* Skeleton subclass for representing a row from the 'nagios_service_group' table.
*
* Nagios Service Group
*
* This class was autogenerated by Propel on:
*
* Thu Dec 13 21:25:24 2007
*
* You should add additional methods to this class to meet the
* application requirements. This class will only be generated as
* long as it does not already exist in the output directory.
*
* @package
*/
class NagiosServiceGroup extends BaseNagiosServiceGroup {
public function addService($service) {
// First check to see if the membership exists
$c = new Criteria();
$c->add(NagiosServiceGroupMemberPeer::SERVICE_GROUP, $this->getId());
$c->add(NagiosServiceGroupMemberPeer::SERVICE, $service->getId());
$membership = NagiosServiceGroupMemberPeer::doSelectOne($c);
if($membership)
return true;
$membership = new NagiosServiceGroupMember();
$membership->setNagiosServiceGroup($this);
$membership->setNagiosService($service);
$membership->save();
return true;
}
public function addMembersByServiceGroup($name) {
// First get servicegroup
$servicegroup = NagiosServiceGroupPeer::getByName($name);
if(!$servicegroup) {
return false;
}
// Get the members
$memberships = $servicegroup->getNagiosServiceGroupMembers();
foreach($memberships as $membership) {
$service = $membership->getNagiosService();
// Check to see if we already have this in our member list
$id = $this->getId();
if(!empty($id)) {
$c = new Criteria();
$c->add(NagiosServiceGroupMemberPeer::SERVICE_GROUP, $this->getId());
$c->add(NagiosServiceGroupMemberPeer::SERVICE, $service->getId());
$relationship = NagiosServiceGroupMemberPeer::doSelectOne($c);
if($relationship)
continue;
}
// Create new relationship
$relationship = new NagiosServiceGroupMember();
$relationship->setNagiosService($service);
$relationship->setNagiosServiceGroup($this);
$relationship->save();
}
return true;
}
} // NagiosServiceGroup