Social: Add configuration setting social_make_teachers_friend_all - refs BT#3309

pull/3375/head
Yannick Warnier 5 years ago
parent 8c4fdf6f7f
commit 0d54d24f63
  1. 32
      main/inc/lib/social.lib.php
  2. 3
      main/install/configuration.dist.php
  3. 6
      main/social/vcard_export.php
  4. 2
      web.config

@ -83,30 +83,28 @@ class SocialManager extends UserManager
return $row['id'];
} else {
if(api_get_configuration_value('treat_superior_statuses_as_friends'))
{
$targetUserCoursesList = CourseManager::get_courses_list_by_user_id($user_id,true,false);
$AdminList = UserManager::get_all_administrators();
foreach($AdminList as $admin)
{
if(api_get_user_id() == $admin['user_id'])
{
if (api_get_configuration_value('social_make_teachers_friend_all')) {
$adminsList = UserManager::get_all_administrators();
foreach ($adminsList as $admin) {
if (api_get_user_id() == $admin['user_id']) {
return USER_RELATION_TYPE_GOODFRIEND;
}
}
foreach($targetUserCoursesList as $course)
{
$TeachersList = CourseManager::get_teacher_list_from_course_code($course['code']);
foreach($TeachersList as $teacher)
{
if(api_get_user_id() == $teacher['user_id'])
{
$targetUserCoursesList = CourseManager::get_courses_list_by_user_id(
$user_id,
true,
false
);
$currentUserId = api_get_user_id();
foreach ($targetUserCoursesList as $course) {
$teachersList = CourseManager::get_teacher_list_from_course_code($course['code']);
foreach ($teachersList as $teacher) {
if ($currentUserId == $teacher['user_id']) {
return USER_RELATION_TYPE_GOODFRIEND;
}
}
}
}
else {
} else {
return USER_UNKNOWN;
}

@ -1598,6 +1598,9 @@ $_configuration['auth_password_links'] = [
// Add teachers column in course list.
// $_configuration['add_teachers_in_course_list'] = false;
// Allow teachers and admins to see students as friends on social network
// $_configuration['social_make_teachers_friend_all'] = false;
// KEEP THIS AT THE END
// -------- Custom DB changes
// Add user activation by confirmation email

@ -13,7 +13,7 @@ use JeroenDesloovere\VCard\VCard;
require_once __DIR__.'/../inc/global.inc.php';
api_block_anonymous_users();
//api_protect_admin_script();
api_protect_admin_script();
if (isset($_REQUEST['userId'])) {
$userId = intval($_REQUEST['userId']);
@ -21,15 +21,13 @@ if (isset($_REQUEST['userId'])) {
api_not_allowed(true);
}
// Return User Info to vCard Export
$userInfo = api_get_user_info($userId, true, false, true);
if (empty($userInfo)) {
api_not_allowed(true);
}
if(api_get_user_id() != $userId && !SocialManager::get_relation_between_contacts(api_get_user_id(),$userId))
{
if (api_get_user_id() != $userId && !SocialManager::get_relation_between_contacts(api_get_user_id(),$userId)) {
api_not_allowed(true);
}
// Pre-Loaded User Info

@ -103,4 +103,4 @@
</rules>
</rewrite>
</system.webServer>
</configuration>
</configuration>

Loading…
Cancel
Save