type]['module']; $export['dependencies'][$module] = $module; // Add other services when data types stem from them. foreach ($service->dataTypes() as $type_name => $info) { if (isset($info['property info'])) { foreach ($info['property info'] as $property => $property_info) { if (isset($wsclient_types[$property_info['type']])) { $type_info = $wsclient_types[$property_info['type']]; $dependencies[$type_info['service']] = $type_info['service']; } } } } foreach ($service->operations as $operation => $info) { if (isset($info['parameter'])) { foreach ($info['parameter'] as $param => $param_info) { if (isset($wsclient_types[$param_info['type']])) { $type_info = $wsclient_types[$param_info['type']]; $dependencies[$type_info['service']] = $type_info['service']; } } } if (isset($wsclient_types[$info['result']['type']])) { $type_info = $wsclient_types[$info['result']['type']]; $dependencies[$type_info['service']] = $type_info['service']; } } } // Remove wsclient_services from the dependency list if they are already // listed in the export array. This is necessary to prevent an infinite loop. $dependencies = array_diff_key($dependencies, $export['features']['wsclient_service']); foreach ($dependencies as $dependency) { $pipe['wsclient_service'][] = $dependency; } return $pipe; } }