Gets all involved language pairs for given tasks.
array $tasks: Array of tasks ids.
array Array of involved languages.
function tmgmt_local_tasks_languages($tasks) {
$query = \Drupal::database()
->select('tmgmt_local_task', 't');
$query
->condition('tltid', $tasks, 'IN');
$query
->join('tmgmt_job', 'j', 't.tjid = j.tjid');
$result = $query
->fields('j', array(
'source_language',
'target_language',
))
->groupBy('target_language')
->groupBy('source_language')
->execute();
$languages = array();
foreach ($result as $row) {
if (empty($languages[$row->source_language]) || !in_array($row->target_language, $languages[$row->source_language])) {
$languages[$row->source_language][] = $row->target_language;
}
}
return $languages;
}