Allow more than one career to be printed in mails sent from events in import_csv.php - refs BT#15628

pull/2981/head
Yannick Warnier 6 years ago
parent dfd5bc8d7c
commit 2eeabfa3a2
  1. 36
      main/cron/import_csv.php

@ -1432,26 +1432,36 @@ class ImportCsv
// Get the value of the "careerid" extra field of this // Get the value of the "careerid" extra field of this
// session // session
$sessionExtraFieldValue = new ExtraFieldValue('session'); $sessionExtraFieldValue = new ExtraFieldValue('session');
$externalCareerId = $sessionExtraFieldValue->get_values_by_handler_and_field_variable( $externalCareerIdList = $sessionExtraFieldValue->get_values_by_handler_and_field_variable(
$event['session_id'], $event['session_id'],
'careerid' 'careerid'
); );
$externalCareerId = $externalCareerId['value']; $externalCareerIdList = $externalCareerIdList['value'];
if (substr($externalCareerId, 0, 1) === '[') { $externalCareerIds = [];
$externalCareerId = substr($externalCareerId, 1, -1); if (substr($externalCareerIdList, 0, 1) === '[') {
$externalCareerIdList = substr($externalCareerIdList, 1, -1);
$externalCareerIds = preg_split('/,/',$externalCareerIdList);
} else {
$externalCareerIds = [$externalCareerIdList];
} }
// Using the external_career_id field (from above),
// find the career ID
$careerExtraFieldValue = new ExtraFieldValue('career'); $careerExtraFieldValue = new ExtraFieldValue('career');
$careerValue = $careerExtraFieldValue->get_item_id_from_field_variable_and_field_value(
'external_career_id',
$externalCareerId
);
$career = new Career(); $career = new Career();
$career = $career->find($careerValue['item_id']); $careerName = '';
$careerName = $career['name'];
// Concat the names of each career linked to this session
foreach ($externalCareerIds as $externalCareerId) {
// Using the external_career_id field (from above),
// find the career ID
$careerValue = $careerExtraFieldValue->get_item_id_from_field_variable_and_field_value(
'external_career_id',
$externalCareerId
);
$career = $career->find($careerValue['item_id']);
$careerName .= $career['name'].', ';
}
// Remove trailing comma
$careerName = substr($careerName, 0, -2);
$subject = sprintf( $subject = sprintf(
get_lang('WelcomeToPortalXInCourseSessionX'), get_lang('WelcomeToPortalXInCourseSessionX'),

Loading…
Cancel
Save