diff --git a/main/admin/user_edit.php b/main/admin/user_edit.php index a70153821f..4cd8e29d3c 100755 --- a/main/admin/user_edit.php +++ b/main/admin/user_edit.php @@ -552,7 +552,11 @@ if ($form->validate()) { ); if (isset($user['student_boss'])) { - UserManager::subscribeUserToBossList($user_id, $user['student_boss']); + UserManager::subscribeUserToBossList( + $user_id, + $user['student_boss'], + true + ); } if (api_get_setting('openid_authentication') == 'true' && !empty($user['openid'])) { diff --git a/main/inc/lib/usermanager.lib.php b/main/inc/lib/usermanager.lib.php index dc68287d7d..cec2b1c462 100755 --- a/main/inc/lib/usermanager.lib.php +++ b/main/inc/lib/usermanager.lib.php @@ -5075,12 +5075,19 @@ EOF; * * @param int $studentId * @param array $bossList + * @param bool $sendNotification * @return int Affected rows */ - public static function subscribeUserToBossList($studentId, $bossList) + public static function subscribeUserToBossList($studentId, $bossList, $sendNotification = false) { if ($bossList) { $studentId = (int) $studentId; + $studentInfo = api_get_user_info($studentId); + + if (empty($studentInfo)) { + return false; + } + $userRelUserTable = Database::get_main_table(TABLE_MAIN_USER_REL_USER); $sql = "DELETE FROM $userRelUserTable WHERE user_id = $studentId AND relation_type = ".USER_RELATION_TYPE_BOSS; @@ -5090,8 +5097,20 @@ EOF; $bossId = (int) $bossId; $sql = "INSERT IGNORE INTO $userRelUserTable (user_id, friend_user_id, relation_type) VALUES ($studentId, $bossId, ".USER_RELATION_TYPE_BOSS.")"; - - Database::query($sql); + $insertId = Database::query($sql); + + if ($insertId && $sendNotification) { + $name = $studentInfo['complete_name']; + $url = api_get_path(WEB_CODE_PATH).'mySpace/myStudents.php?student='.$studentId; + $url = Display::url($url, $url); + $subject = sprintf(get_lang('UserXHasBeenAssignedToBoss'), $name); + $message = sprintf(get_lang('UserXHasBeenAssignedToBossWithUrlX'), $name, $url); + MessageManager::send_message_simple( + $bossId, + $subject, + $message + ); + } } } }