/** * Host template update action * * @param array $givenParameters */ public static function update($givenParameters, $origin = "", $route = "", $validate = true, $validateMandatory = true) { $previousLinkedServiceTemplates = HostTemplateServiceTemplateRelation::getTargetIdFromSourceId('service_service_id', 'host_host_id', $givenParameters['object_id']); parent::update($givenParameters, $origin, $route, $validate, $validateMandatory); $linkedServiceTemplates = HostTemplateServiceTemplateRelation::getTargetIdFromSourceId('service_service_id', 'host_host_id', $givenParameters['object_id']); if (count(array_diff_assoc($linkedServiceTemplates, $previousLinkedServiceTemplates))) { $linkedHosts = HostRepository::getTemplateChainInverse($givenParameters['object_id']); foreach ($linkedHosts as $host) { HostRepository::deployServices($host['id'], $givenParameters['object_id']); } } }