From 6ebcbdf4bc2457da2d9f3278bda83405b2e60a05 Mon Sep 17 00:00:00 2001 From: Imanol Losada Date: Fri, 27 Mar 2015 09:52:33 -0500 Subject: [PATCH 01/23] Fix gravatar in get_user_picture_path_by_id and _api_format_user functions - refs #4507 --- main/inc/lib/api.lib.php | 38 +++++++++++++++----------------- main/inc/lib/usermanager.lib.php | 7 +++--- 2 files changed, 21 insertions(+), 24 deletions(-) diff --git a/main/inc/lib/api.lib.php b/main/inc/lib/api.lib.php index 3096598c78..ade6b9b62c 100644 --- a/main/inc/lib/api.lib.php +++ b/main/inc/lib/api.lib.php @@ -1417,26 +1417,24 @@ function _api_format_user($user, $add_password = false) } $image_sys_path = api_get_path(SYS_CODE_PATH).$dir.$picture_filename; - if ($picture_filename) { - if (file_exists($image_sys_path)) { - $result['avatar'] = api_get_path(WEB_CODE_PATH).$dir.$picture_filename; - $result['avatar_small'] = api_get_path(WEB_CODE_PATH).$dir.'small_'.$picture_filename; - $result['avatar_sys_path'] = api_get_path(SYS_CODE_PATH).$dir.$picture_filename; - } else if (api_get_configuration_value('gravatar_enabled')) { - $userEmail = isset($user['email']) ? $user['email'] : ''; - $gravatarType = api_get_configuration_value('gravatar_type'); - $avatarPaths = array( - 'avatar' => $result['avatar'], - 'avatar_small' => $result['avatar_small'], - 'avatar_sys_path' => $result['avatar_sys_path'] - ); - foreach ($avatarPaths as $key => $value) { - $avatarSize = api_getimagesize($value); - $avatarSize = $avatarSize['width'] > $avatarSize['height'] ? - $avatarSize['width'] : - $avatarSize['height']; - $result[$key] = UserManager::getGravatar($userEmail, $avatarSize, $gravatarType); - } + if ($picture_filename && file_exists($image_sys_path)) { + $result['avatar'] = api_get_path(WEB_CODE_PATH).$dir.$picture_filename; + $result['avatar_small'] = api_get_path(WEB_CODE_PATH).$dir.'small_'.$picture_filename; + $result['avatar_sys_path'] = api_get_path(SYS_CODE_PATH).$dir.$picture_filename; + } else if (api_get_configuration_value('gravatar_enabled')) { + $userEmail = isset($user['email']) ? $user['email'] : ''; + $gravatarType = api_get_configuration_value('gravatar_type'); + $avatarPaths = array( + 'avatar' => $result['avatar'], + 'avatar_small' => $result['avatar_small'], + 'avatar_sys_path' => $result['avatar_sys_path'] + ); + foreach ($avatarPaths as $key => $value) { + $avatarSize = api_getimagesize($value); + $avatarSize = $avatarSize['width'] > $avatarSize['height'] ? + $avatarSize['width'] : + $avatarSize['height']; + $result[$key] = UserManager::getGravatar($userEmail, $avatarSize, $gravatarType); } } diff --git a/main/inc/lib/usermanager.lib.php b/main/inc/lib/usermanager.lib.php index 84a80ff1f6..076d37d824 100755 --- a/main/inc/lib/usermanager.lib.php +++ b/main/inc/lib/usermanager.lib.php @@ -1268,10 +1268,6 @@ class UserManager if (empty($picture_filename) || (!empty($picture_filename) && !file_exists($systemImagePath.$picture_filename)) ) { - if ($anonymous) { - return $noPicturePath; - } - if (api_get_configuration_value('gravatar_enabled')) { $avatarSize = api_getimagesize($noPicturePath['dir'].$noPicturePath['file']); $avatarSize = $avatarSize['width'] > $avatarSize['height'] ? @@ -1286,6 +1282,9 @@ class UserManager ) ); } + if ($anonymous) { + return $noPicturePath; + } } return array('dir' => $dir, 'file' => $picture_filename); From 289cafb8c3fd752673fedf2ba782b29c052aac04 Mon Sep 17 00:00:00 2001 From: Imanol Losada Date: Fri, 27 Mar 2015 09:56:24 -0500 Subject: [PATCH 02/23] Fix gravatar in main/admin/user_edit.php - refs #4507 --- main/admin/user_edit.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/main/admin/user_edit.php b/main/admin/user_edit.php index 1862abdb93..b7f0fed15c 100755 --- a/main/admin/user_edit.php +++ b/main/admin/user_edit.php @@ -449,7 +449,11 @@ $image = $image_path['file']; $image_file = ($image != '' ? $image_dir.$image : api_get_path(WEB_CODE_PATH).'img/unknown.jpg'); $image_size = api_getimagesize($image_file); -$img_attributes = 'src="'.$image_file.'?rand='.time().'" ' +if (!api_get_configuration_value('gravatar_enabled')) { + $image_file .= '?rand='.time(); +} + +$img_attributes = 'src="'.$image_file.'" ' .'alt="'.api_get_person_name($user_data['firstname'], $user_data['lastname']).'" ' .'style="float:'.($text_dir == 'rtl' ? 'left' : 'right').'; padding:5px;" '; From 25281a24a2681053ad8be2f33d004f1003a376a5 Mon Sep 17 00:00:00 2001 From: Imanol Losada Date: Fri, 27 Mar 2015 10:47:13 -0500 Subject: [PATCH 03/23] Fix gravatar in main/admin/user_list.php - refs #4507 --- main/inc/lib/usermanager.lib.php | 48 +++++++++++++++++--------------- 1 file changed, 25 insertions(+), 23 deletions(-) diff --git a/main/inc/lib/usermanager.lib.php b/main/inc/lib/usermanager.lib.php index 076d37d824..905782e4f1 100755 --- a/main/inc/lib/usermanager.lib.php +++ b/main/inc/lib/usermanager.lib.php @@ -1237,7 +1237,7 @@ class UserManager $noPicturePath = array('dir' => $base.'img/', 'file' => 'unknown.jpg'); - if (empty($id) || empty($type)) { + if ((empty($id) || empty($type)) && !api_get_configuration_value('gravatar_enabled')) { return $anonymous ? $noPicturePath : array('dir' => '', 'file' => ''); } @@ -1247,7 +1247,7 @@ class UserManager $sql = "SELECT email, picture_uri FROM $user_table WHERE user_id=".$user_id; $res = Database::query($sql); - if (!Database::num_rows($res)) { + if (!Database::num_rows($res) && !api_get_configuration_value('gravatar_enabled')) { return $anonymous ? $noPicturePath : array('dir' => '', 'file' => ''); } @@ -1265,26 +1265,23 @@ class UserManager $dir = $base.$userPath; } - if (empty($picture_filename) || - (!empty($picture_filename) && !file_exists($systemImagePath.$picture_filename)) - ) { - if (api_get_configuration_value('gravatar_enabled')) { - $avatarSize = api_getimagesize($noPicturePath['dir'].$noPicturePath['file']); - $avatarSize = $avatarSize['width'] > $avatarSize['height'] ? - $avatarSize['width'] : - $avatarSize['height']; - return array( - 'dir' => '', - 'file' => self::getGravatar( - $user['email'], - $avatarSize, - api_get_configuration_value('gravatar_type') - ) - ); - } - if ($anonymous) { - return $noPicturePath; - } + if (api_get_configuration_value('gravatar_enabled')) { + $avatarSize = api_getimagesize($noPicturePath['dir'].$noPicturePath['file']); + $avatarSize = $avatarSize['width'] > $avatarSize['height'] ? + $avatarSize['width'] : + $avatarSize['height']; + return array( + 'dir' => '', + 'file' => self::getGravatar( + $user['email'], + $avatarSize, + api_get_configuration_value('gravatar_type') + ) + ); + } + + if (empty($picture_filename) && $anonymous) { + return $noPicturePath; } return array('dir' => $dir, 'file' => $picture_filename); @@ -3260,7 +3257,9 @@ class UserManager break; } $picture['file'] = api_get_path(WEB_CODE_PATH).'img/'.$picture_file; - return $picture; + if (!api_get_configuration_value('gravatar_enabled')) { + return $picture; + } } switch ($size_picture) { @@ -3318,6 +3317,9 @@ class UserManager } } } + if (api_get_configuration_value('gravatar_enabled')) { + $picture['file'] = $image_array['file']; + } return $picture; } From 65feb9cb738f4e9b7f463ca3d18f2aeab71302ba Mon Sep 17 00:00:00 2001 From: Imanol Losada Date: Fri, 27 Mar 2015 10:53:35 -0500 Subject: [PATCH 04/23] Fix gravatar photo link in main/admin/user_edit.php - refs #4507 --- main/admin/user_edit.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/main/admin/user_edit.php b/main/admin/user_edit.php index b7f0fed15c..823d266baa 100755 --- a/main/admin/user_edit.php +++ b/main/admin/user_edit.php @@ -466,7 +466,10 @@ $big_image = $image_dir.'big_'.$image; $big_image_size = api_getimagesize($big_image); $big_image_width = $big_image_size['width']; $big_image_height = $big_image_size['height']; -$url_big_image = $big_image.'?rnd='.time(); +$url_big_image = $image_file; +if (!api_get_configuration_value('gravatar_enabled')) { + $url_big_image = $big_image.'?rnd='.time(); +} $content = null; if ($image == '') { From d1950538b939a86df3047b76236a714e15aca667 Mon Sep 17 00:00:00 2001 From: Imanol Losada Date: Fri, 27 Mar 2015 11:21:20 -0500 Subject: [PATCH 05/23] Fix gravatar in main/auth/profile.php - refs #4507 --- main/auth/profile.php | 13 ++++++-- main/inc/lib/group_portal_manager.lib.php | 37 +++++++++++++++++++---- main/inc/lib/social.lib.php | 8 +++-- 3 files changed, 47 insertions(+), 11 deletions(-) diff --git a/main/auth/profile.php b/main/auth/profile.php index 6b6d759513..65830560f7 100755 --- a/main/auth/profile.php +++ b/main/auth/profile.php @@ -692,6 +692,8 @@ if (!empty($msg_is_not_password)){ Display::addFlash(Display :: return_message($warning_msg, 'warning', false)); } +$gravatarEnabled = api_get_configuration_value('gravatar_enabled'); + // User picture size is calculated from SYSTEM path $image_syspath = UserManager::get_user_picture_path_by_id(api_get_user_id(), 'system', false, true); $image_syspath['dir'].$image_syspath['file']; @@ -701,7 +703,10 @@ $image_path = UserManager::get_user_picture_path_by_id(api_get_user_id(), 'web', $image_dir = $image_path['dir']; $image = $image_path['file']; $image_file = $image_dir.$image; -$img_attributes = 'src="'.$image_file.'?rand='.time().'" ' +if (!$gravatarEnabled) { + $image_file .= '?rand='.time(); +} +$img_attributes = 'src="'.$image_file.'" ' .'alt="'.api_get_person_name($user_data['firstname'], $user_data['lastname']).'" ' .'style="float:'.($text_dir == 'rtl' ? 'left' : 'right').'; margin-top:0px;padding:5px;" '; @@ -711,8 +716,10 @@ $big_image = $image_dir.'big_'.$image; $big_image_size = api_getimagesize($big_image); $big_image_width = $big_image_size['width']; $big_image_height = $big_image_size['height']; -$url_big_image = $big_image.'?rnd='.time(); - +$url_big_image = $image_file; +if (!$gravatarEnabled) { + $url_big_image = $big_image.'?rnd='.time(); +} $show_delete_account_button = api_get_setting('platform_unsubscribe_allowed') == 'true' ? true : false; $tpl = new Template(get_lang('ModifyProfile')); diff --git a/main/inc/lib/group_portal_manager.lib.php b/main/inc/lib/group_portal_manager.lib.php index f527f86291..a151ded4c6 100755 --- a/main/inc/lib/group_portal_manager.lib.php +++ b/main/inc/lib/group_portal_manager.lib.php @@ -911,9 +911,11 @@ class GroupPortalManager default: // Base: empty, the result path below will be relative. $base = ''; } + $gravatarEnabled = api_get_configuration_value('gravatar_enabled'); + $noPicturePath = array('dir' => $base.'img/', 'file' => 'unknown.jpg'); - if (empty($id) || empty($type)) { - return $anonymous ? array('dir' => $base.'img/', 'file' => 'unknown.jpg') : array('dir' => '', 'file' => ''); + if ((empty($id) || empty($type)) && !$gravatarEnabled) { + return $anonymous ? $noPicturePath : array('dir' => '', 'file' => ''); } $id = intval($id); @@ -922,8 +924,8 @@ class GroupPortalManager $sql = "SELECT picture_uri FROM $group_table WHERE id=".$id; $res = Database::query($sql); - if (!Database::num_rows($res)) { - return $anonymous ? array('dir' => $base.'img/', 'file' => 'unknown.jpg') : array('dir' => '', 'file' => ''); + if (!Database::num_rows($res) && !$gravatarEnabled) { + return $anonymous ? $noPicturePath : array('dir' => '', 'file' => ''); } $user = Database::fetch_array($res); @@ -940,9 +942,26 @@ class GroupPortalManager } else { $dir = $base.'upload/users/groups/'.$id.'/'; } + + if ($gravatarEnabled) { + $avatarSize = api_getimagesize($noPicturePath['dir'].$noPicturePath['file']); + $avatarSize = $avatarSize['width'] > $avatarSize['height'] ? + $avatarSize['width'] : + $avatarSize['height']; + return array( + 'dir' => '', + 'file' => self::getGravatar( + $user['email'], + $avatarSize, + api_get_configuration_value('gravatar_type') + ) + ); + } + if (empty($picture_filename) && $anonymous) { - return array('dir' => $base.'img/', 'file' => 'unknown.jpg'); + return $noPicturePath; } + return array('dir' => $dir, 'file' => $picture_filename); } @@ -981,12 +1000,15 @@ class GroupPortalManager */ public static function get_picture_group($id, $picture_file, $height, $size_picture = GROUP_IMAGE_SIZE_MEDIUM, $style = '') { + $gravatarEnabled = api_get_configuration_value('gravatar_enabled'); $patch_profile = 'upload/users/groups/'; $picture = array(); $picture['style'] = $style; if ($picture_file == 'unknown.jpg') { $picture['file'] = api_get_path(WEB_CODE_PATH).'img/'.$picture_file; - return $picture; + if (!$gravatarEnabled) { + return $picture; + } } switch ($size_picture) { @@ -1026,6 +1048,9 @@ class GroupPortalManager $picture['file'] = api_get_path(WEB_CODE_PATH).'img/unknown_group.png'; } } + if ($gravatarEnabled) { + $picture['file'] = $image_array['file']; + } return $picture; } diff --git a/main/inc/lib/social.lib.php b/main/inc/lib/social.lib.php index a7efeea986..464b14219d 100755 --- a/main/inc/lib/social.lib.php +++ b/main/inc/lib/social.lib.php @@ -613,8 +613,12 @@ class SocialManager extends UserManager $img_array = UserManager::get_user_picture_path_by_id($user_id, 'web', true, true); $big_image = UserManager::get_picture_user($user_id, $img_array['file'], '', USER_IMAGE_SIZE_BIG); - $big_image = $big_image['file'].'?'.uniqid(); - $normal_image = $img_array['dir'].$img_array['file'].'?'.uniqid(); + $big_image = $big_image['file']; + $normal_image = $img_array['dir'].$img_array['file']; + if (!api_get_configuration_value('gravatar_enabled')) { + $big_image .= '?'.uniqid(); + $normal_image .= '?'.uniqid(); + } //--- User image if ($img_array['file'] != 'unknown.jpg') { From 32938941ae02f14ace1720841234a98edbd42199 Mon Sep 17 00:00:00 2001 From: Imanol Losada Date: Fri, 27 Mar 2015 11:28:33 -0500 Subject: [PATCH 06/23] Remove redundant function calls - refs #4507 --- main/admin/user_edit.php | 6 ++++-- main/inc/lib/usermanager.lib.php | 13 +++++++------ 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/main/admin/user_edit.php b/main/admin/user_edit.php index 823d266baa..fd462a5259 100755 --- a/main/admin/user_edit.php +++ b/main/admin/user_edit.php @@ -442,6 +442,8 @@ if ($error_drh) { $message = Display::return_message($err_msg, 'error'); } +$gravatarEnabled = api_get_configuration_value('gravatar_enabled'); + // USER PICTURE $image_path = UserManager::get_user_picture_path_by_id($user_id,'web'); $image_dir = $image_path['dir']; @@ -449,7 +451,7 @@ $image = $image_path['file']; $image_file = ($image != '' ? $image_dir.$image : api_get_path(WEB_CODE_PATH).'img/unknown.jpg'); $image_size = api_getimagesize($image_file); -if (!api_get_configuration_value('gravatar_enabled')) { +if (!$gravatarEnabled) { $image_file .= '?rand='.time(); } @@ -467,7 +469,7 @@ $big_image_size = api_getimagesize($big_image); $big_image_width = $big_image_size['width']; $big_image_height = $big_image_size['height']; $url_big_image = $image_file; -if (!api_get_configuration_value('gravatar_enabled')) { +if (!$gravatarEnabled) { $url_big_image = $big_image.'?rnd='.time(); } diff --git a/main/inc/lib/usermanager.lib.php b/main/inc/lib/usermanager.lib.php index 905782e4f1..c3c326622f 100755 --- a/main/inc/lib/usermanager.lib.php +++ b/main/inc/lib/usermanager.lib.php @@ -1234,10 +1234,10 @@ class UserManager default: // Base: empty, the result path below will be relative. $base = ''; } - + $gravatarEnabled = api_get_configuration_value('gravatar_enabled'); $noPicturePath = array('dir' => $base.'img/', 'file' => 'unknown.jpg'); - if ((empty($id) || empty($type)) && !api_get_configuration_value('gravatar_enabled')) { + if ((empty($id) || empty($type)) && !$gravatarEnabled) { return $anonymous ? $noPicturePath : array('dir' => '', 'file' => ''); } @@ -1247,7 +1247,7 @@ class UserManager $sql = "SELECT email, picture_uri FROM $user_table WHERE user_id=".$user_id; $res = Database::query($sql); - if (!Database::num_rows($res) && !api_get_configuration_value('gravatar_enabled')) { + if (!Database::num_rows($res) && !$gravatarEnabled) { return $anonymous ? $noPicturePath : array('dir' => '', 'file' => ''); } @@ -1265,7 +1265,7 @@ class UserManager $dir = $base.$userPath; } - if (api_get_configuration_value('gravatar_enabled')) { + if ($gravatarEnabled) { $avatarSize = api_getimagesize($noPicturePath['dir'].$noPicturePath['file']); $avatarSize = $avatarSize['width'] > $avatarSize['height'] ? $avatarSize['width'] : @@ -3243,6 +3243,7 @@ class UserManager */ public static function get_picture_user($user_id, $picture_file, $height, $size_picture = USER_IMAGE_SIZE_MEDIUM, $style = '') { + $gravatarEnabled = api_get_configuration_value('gravatar_enabled'); $picture = array(); $picture['style'] = $style; if ($picture_file == 'unknown.jpg') { @@ -3257,7 +3258,7 @@ class UserManager break; } $picture['file'] = api_get_path(WEB_CODE_PATH).'img/'.$picture_file; - if (!api_get_configuration_value('gravatar_enabled')) { + if (!$gravatarEnabled) { return $picture; } } @@ -3317,7 +3318,7 @@ class UserManager } } } - if (api_get_configuration_value('gravatar_enabled')) { + if ($gravatarEnabled) { $picture['file'] = $image_array['file']; } return $picture; From 01c93c607beb5d70ca1e6dc47bc46ca0be75b0e8 Mon Sep 17 00:00:00 2001 From: Imanol Losada Date: Fri, 27 Mar 2015 11:53:35 -0500 Subject: [PATCH 07/23] Undo changes in main/inc/lib/group_portal_manager.lib.php - refs #4507 --- main/inc/lib/group_portal_manager.lib.php | 29 ++++------------------- 1 file changed, 4 insertions(+), 25 deletions(-) diff --git a/main/inc/lib/group_portal_manager.lib.php b/main/inc/lib/group_portal_manager.lib.php index a151ded4c6..6d3e02dff2 100755 --- a/main/inc/lib/group_portal_manager.lib.php +++ b/main/inc/lib/group_portal_manager.lib.php @@ -911,10 +911,10 @@ class GroupPortalManager default: // Base: empty, the result path below will be relative. $base = ''; } - $gravatarEnabled = api_get_configuration_value('gravatar_enabled'); + $noPicturePath = array('dir' => $base.'img/', 'file' => 'unknown.jpg'); - if ((empty($id) || empty($type)) && !$gravatarEnabled) { + if (empty($id) || empty($type)) { return $anonymous ? $noPicturePath : array('dir' => '', 'file' => ''); } @@ -924,7 +924,7 @@ class GroupPortalManager $sql = "SELECT picture_uri FROM $group_table WHERE id=".$id; $res = Database::query($sql); - if (!Database::num_rows($res) && !$gravatarEnabled) { + if (!Database::num_rows($res)) { return $anonymous ? $noPicturePath : array('dir' => '', 'file' => ''); } @@ -943,21 +943,6 @@ class GroupPortalManager $dir = $base.'upload/users/groups/'.$id.'/'; } - if ($gravatarEnabled) { - $avatarSize = api_getimagesize($noPicturePath['dir'].$noPicturePath['file']); - $avatarSize = $avatarSize['width'] > $avatarSize['height'] ? - $avatarSize['width'] : - $avatarSize['height']; - return array( - 'dir' => '', - 'file' => self::getGravatar( - $user['email'], - $avatarSize, - api_get_configuration_value('gravatar_type') - ) - ); - } - if (empty($picture_filename) && $anonymous) { return $noPicturePath; } @@ -1000,15 +985,12 @@ class GroupPortalManager */ public static function get_picture_group($id, $picture_file, $height, $size_picture = GROUP_IMAGE_SIZE_MEDIUM, $style = '') { - $gravatarEnabled = api_get_configuration_value('gravatar_enabled'); $patch_profile = 'upload/users/groups/'; $picture = array(); $picture['style'] = $style; if ($picture_file == 'unknown.jpg') { $picture['file'] = api_get_path(WEB_CODE_PATH).'img/'.$picture_file; - if (!$gravatarEnabled) { - return $picture; - } + return $picture; } switch ($size_picture) { @@ -1048,9 +1030,6 @@ class GroupPortalManager $picture['file'] = api_get_path(WEB_CODE_PATH).'img/unknown_group.png'; } } - if ($gravatarEnabled) { - $picture['file'] = $image_array['file']; - } return $picture; } From 27ffdcfc1af97bfcb8e56a2b555c468c3c009c04 Mon Sep 17 00:00:00 2001 From: Imanol Losada Date: Fri, 27 Mar 2015 12:37:35 -0500 Subject: [PATCH 08/23] Fix gravatar in course chat - refs #4507 --- main/chat/chat_functions.lib.php | 4 ++++ main/chat/chat_whoisonline.php | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/main/chat/chat_functions.lib.php b/main/chat/chat_functions.lib.php index bc0df7c67d..ac46b479c1 100755 --- a/main/chat/chat_functions.lib.php +++ b/main/chat/chat_functions.lib.php @@ -222,6 +222,10 @@ function saveMessage($message, $userId, $_course, $session_id, $group_id, $previ $userPhoto = $userImage['dir'].$userImage['file']; } + if (api_get_configuration_value('gravatar_enabled')) { + $userPhoto = $userImage['file']; + } + $filePhoto = ''; if ($isMaster) { diff --git a/main/chat/chat_whoisonline.php b/main/chat/chat_whoisonline.php index 319f46847e..555af169af 100755 --- a/main/chat/chat_whoisonline.php +++ b/main/chat/chat_whoisonline.php @@ -122,6 +122,11 @@ if (!empty($course)) { } else { $fileUrl = $userImage['dir'].$userImage['file']; } + + if (api_get_configuration_value('gravatar_enabled')) { + $fileUrl = $userImage['file']; + } + $email = $user['email']; $url_user_profile=api_get_path(WEB_CODE_PATH).'social/profile.php?u='.$user['user_id'].'&'; ?> From b2a70d90b9c82870d6d3aabffabe2be16fa16c97 Mon Sep 17 00:00:00 2001 From: Imanol Losada Date: Fri, 27 Mar 2015 14:09:41 -0500 Subject: [PATCH 09/23] Fix gravatar in main/gradebook/user_info.php - refs #4507 --- main/gradebook/user_info.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/main/gradebook/user_info.php b/main/gradebook/user_info.php index 134c844928..f623536083 100755 --- a/main/gradebook/user_info.php +++ b/main/gradebook/user_info.php @@ -48,7 +48,11 @@ $image_size = getimagesize($image_syspath['dir'].$image_syspath['file']); $image_path = UserManager::get_user_picture_path_by_id($user_id,'web',false,true); $image_file = $image_path['dir'].$image_path['file']; -$img_attributes = 'src="'.$image_file.'?rand='.time().'" ' +if (!api_get_configuration_value('gravatar_enabled')) { + $image_file .= '?rand='.time(); +} + +$img_attributes = 'src="'.$image_file.'" ' .'alt="'.api_get_person_name($user_data['firstname'], $user_data['lastname']).'" ' .'style="float:left; padding:5px;" '; From 421080fb33b3ea4e8c6c030f8633c247fe44539f Mon Sep 17 00:00:00 2001 From: Imanol Losada Date: Fri, 27 Mar 2015 14:13:00 -0500 Subject: [PATCH 10/23] Fix gravatar in main/gradebook/user_stats.php - refs #4507 --- main/gradebook/lib/fe/displaygradebook.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/main/gradebook/lib/fe/displaygradebook.php b/main/gradebook/lib/fe/displaygradebook.php index b2d3df5d9c..e98e7481ae 100755 --- a/main/gradebook/lib/fe/displaygradebook.php +++ b/main/gradebook/lib/fe/displaygradebook.php @@ -720,7 +720,12 @@ class DisplayGradebook //Web path $image_path = UserManager::get_user_picture_path_by_id($userid, 'web', false, true); $image_file = $image_path['dir'] . $image_path['file']; - $img_attributes = 'src="' . $image_file . '?rand=' . time() . '" ' . 'alt="' . $user['complete_name'] . '" '; + + if (!api_get_configuration_value('gravatar_enabled')) { + $image_file .= '?rand='.time(); + } + + $img_attributes = 'src="' . $image_file . '" ' . 'alt="' . $user['complete_name'] . '" '; if ($image_size[0] > 200) { //limit display width to 200px $img_attributes .= 'width="200" '; From a0d6fdc6d53f668aced9a44de3c8083200687881 Mon Sep 17 00:00:00 2001 From: Imanol Losada Date: Fri, 27 Mar 2015 15:45:06 -0500 Subject: [PATCH 11/23] Fix gravatar in whoisonline.php - refs #4507 --- main/inc/lib/social.lib.php | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/main/inc/lib/social.lib.php b/main/inc/lib/social.lib.php index 464b14219d..2281f965a3 100755 --- a/main/inc/lib/social.lib.php +++ b/main/inc/lib/social.lib.php @@ -928,13 +928,14 @@ class SocialManager extends UserManager $status_icon = Display::span('', array('class' => 'online_user_in_text')); $user_status = $user_info['status'] == 1 ? Display::span('', array('class' => 'teacher_online')) : Display::span('', array('class' => 'student_online')); - if ($image_array['file'] == 'unknown.jpg' || !file_exists($image_array['dir'].$image_array['file'])) { + $friends_profile = UserManager::get_picture_user($uid, $image_array['file'], 80, USER_IMAGE_SIZE_ORIGINAL); + if (($image_array['file'] == 'unknown.jpg' + || !file_exists($image_array['dir'].$image_array['file'])) && + !api_get_configuration_value('gravatar_enabled')) { $friends_profile['file'] = api_get_path(WEB_CODE_PATH).'img/unknown_180_100.jpg'; - $img = ''.$name.''; - } else { - $friends_profile = UserManager::get_picture_user($uid, $image_array['file'], 80, USER_IMAGE_SIZE_ORIGINAL); - $img = ''.$name.''; + } + $img = ''.$name.''; $name = ''.$status_icon.$user_status.$name.'
'; $html .= '
  • '.$img.'
    '.$name.'
  • '; } @@ -972,12 +973,16 @@ class SocialManager extends UserManager $interbreadcrumb[] = array('url' => 'whoisonline.php', 'name' => get_lang('UsersOnLineList')); $html .= '
    '; + + $sysdir_array = UserManager::get_user_picture_path_by_id($safe_user_id, 'system'); + $sysdir = $sysdir_array['dir']; + $webdir_array = UserManager::get_user_picture_path_by_id($safe_user_id, 'web'); if (strlen(trim($user_object->picture_uri)) > 0) { - $sysdir_array = UserManager::get_user_picture_path_by_id($safe_user_id, 'system'); - $sysdir = $sysdir_array['dir']; - $webdir_array = UserManager::get_user_picture_path_by_id($safe_user_id, 'web'); $webdir = $webdir_array['dir']; - $fullurl = $webdir.$user_object->picture_uri; + $fullurl = $webdir; + $fullurl .= api_get_configuration_value('gravatar_enabled') ? + $webdir_array['file'] : + $user_object->picture_uri; $system_image_path = $sysdir.$user_object->picture_uri; list($width, $height, $type, $attr) = @getimagesize($system_image_path); $height += 30; @@ -991,7 +996,9 @@ class SocialManager extends UserManager //echo ''; $html .= ''.$alt.''; } else { - $html .= Display::return_icon('unknown.jpg', get_lang('Unknown')); + $html .= api_get_configuration_value('gravatar_enabled') ? + ''.$alt.'' : + Display::return_icon('unknown.jpg', get_lang('Unknown')); } if (!empty($status)) { $html .= '
    '.$status.'
    '; From e03283ecafd3c992d91913f4fcda43a4dd040dc1 Mon Sep 17 00:00:00 2001 From: Imanol Losada Date: Fri, 27 Mar 2015 16:15:10 -0500 Subject: [PATCH 12/23] Fix gravatar in social wall - refs #4507 --- main/inc/lib/social.lib.php | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/main/inc/lib/social.lib.php b/main/inc/lib/social.lib.php index 2281f965a3..0248a361a7 100755 --- a/main/inc/lib/social.lib.php +++ b/main/inc/lib/social.lib.php @@ -1410,8 +1410,12 @@ class SocialManager extends UserManager if (!empty($message['path'])) { $pathUserInfo = UserManager::get_user_picture_path_by_id($authorId, 'web', true); $pathImg = $pathUserInfo['dir'] . 'message_attachments'; - $imageBig = $pathImg .self::getImagePath($message['path'], IMAGE_WALL_BIG); - $imageSmall = $pathImg. self::getImagePath($message['path'], IMAGE_WALL_SMALL); + $imageBig = $pathUserInfo['file']; + $imageSmall = $pathUserInfo['file']; + if (!api_get_configuration_value('gravatar_enabled')) { + $imageBig = $pathImg .self::getImagePath($message['path'], IMAGE_WALL_BIG); + $imageSmall = $pathImg. self::getImagePath($message['path'], IMAGE_WALL_SMALL); + } $wallImage = '
    '; } From 01759564d12056bef53daed923ea2ef7cf87f500 Mon Sep 17 00:00:00 2001 From: Imanol Losada Date: Fri, 27 Mar 2015 16:15:54 -0500 Subject: [PATCH 13/23] Solve database issue in social wall - refs #4507 --- main/inc/lib/social.lib.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/main/inc/lib/social.lib.php b/main/inc/lib/social.lib.php index 0248a361a7..a8ac2f34fa 100755 --- a/main/inc/lib/social.lib.php +++ b/main/inc/lib/social.lib.php @@ -1229,6 +1229,7 @@ class SocialManager extends UserManager $start = '0000-00-00'; } $tblMessage = Database::get_main_table(TABLE_MAIN_MESSAGE); + $tblMessageAttachment = Database::get_main_table(TABLE_MESSAGE_ATTACHMENT); $userId = intval($userId); $start = Database::escape_string($start); // TODO: set a maximum of 3 months for messages @@ -1238,8 +1239,8 @@ class SocialManager extends UserManager $limit = intval($limit); $messages = array(); $sql = "SELECT id, user_sender_id,user_receiver_id, send_date, content, parent_id, - (SELECT ma.path from message_attachment ma WHERE ma.message_id = tm.id ) as path, - (SELECT ma.filename from message_attachment ma WHERE ma.message_id = tm.id ) as filename + (SELECT ma.path from $tblMessageAttachment ma WHERE ma.message_id = tm.id ) as path, + (SELECT ma.filename from $tblMessageAttachment ma WHERE ma.message_id = tm.id ) as filename FROM $tblMessage tm WHERE user_receiver_id = $userId AND send_date > '$start' "; From 2211bc6388e816533211a5887d1728314eda1ba1 Mon Sep 17 00:00:00 2001 From: Imanol Losada Date: Fri, 27 Mar 2015 16:33:03 -0500 Subject: [PATCH 14/23] Fix gravatar in main/mySpace/myStudents.php - refs #4507 --- main/mySpace/myStudents.php | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/main/mySpace/myStudents.php b/main/mySpace/myStudents.php index 9c25bb066b..47321dce9f 100755 --- a/main/mySpace/myStudents.php +++ b/main/mySpace/myStudents.php @@ -461,6 +461,7 @@ if (!empty($student_id)) { echo ''; echo ''; + $gravatarEnabled = api_get_configuration_value('gravatar_enabled'); $image_array = UserManager :: get_user_picture_path_by_id($user_info['user_id'], 'web', false, true); echo '
    '; @@ -470,8 +471,13 @@ if (!empty($student_id)) { $big_image_size = api_getimagesize($big_image); $big_image_width = $big_image_size['width']; $big_image_height = $big_image_size['height']; - $url_big_image = $big_image . '?rnd=' . time(); - $img_attributes = 'src="' . $image_file . '?rand=' . time() . '" ' . + $url_big_image = $big_image; + if (!$gravatarEnabled) { + $url_big_image .= '?rnd=' . time(); + $image_file .= '?rnd=' . time(); + } + + $img_attributes = 'src="' . $image_file . '" ' . 'alt="' . $user_info['complete_name']. '" ' . 'style="float:' . ($text_dir == 'rtl' ? 'right' : 'left') . '; padding:5px;" '; From f45f9ff8c9183e0618c387defa87651ea8ee107c Mon Sep 17 00:00:00 2001 From: Imanol Losada Date: Fri, 27 Mar 2015 16:53:47 -0500 Subject: [PATCH 15/23] Fix big url gravatar in main/mySpace/myStudents.php - refs #4507 --- main/mySpace/myStudents.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/main/mySpace/myStudents.php b/main/mySpace/myStudents.php index 47321dce9f..6a577fd526 100755 --- a/main/mySpace/myStudents.php +++ b/main/mySpace/myStudents.php @@ -471,9 +471,9 @@ if (!empty($student_id)) { $big_image_size = api_getimagesize($big_image); $big_image_width = $big_image_size['width']; $big_image_height = $big_image_size['height']; - $url_big_image = $big_image; + $url_big_image = $image_file; if (!$gravatarEnabled) { - $url_big_image .= '?rnd=' . time(); + $url_big_image = $big_image.'?rnd=' . time(); $image_file .= '?rnd=' . time(); } From cdbcfb1b0f43f6dc7f4c6087e4e08af51af373c3 Mon Sep 17 00:00:00 2001 From: Imanol Losada Date: Fri, 27 Mar 2015 17:02:27 -0500 Subject: [PATCH 16/23] Fix gravatar in main/user/userInfo.php - refs #4507 --- main/user/userInfo.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/main/user/userInfo.php b/main/user/userInfo.php index d2e5c9edaf..3a70a0de4d 100755 --- a/main/user/userInfo.php +++ b/main/user/userInfo.php @@ -338,7 +338,10 @@ elseif ($displayMode == "viewContentEdit") { $big_image_size = api_getimagesize($big_image); $big_image_width= $big_image_size['width']; $big_image_height= $big_image_size['height']; - $url_big_image = $big_image.'?rnd='.time(); + $url_big_image = $image_array['file']; + if (!api_get_configuration_value('gravatar_enabled')) { + $url_big_image = $big_image.'?rnd='.time(); + } if ($image_array['file']=='unknown.jpg') { echo ''; From 0e30f6c2a16924133dd9013b7e0fd70f79170321 Mon Sep 17 00:00:00 2001 From: Imanol Losada Date: Mon, 30 Mar 2015 08:00:08 -0500 Subject: [PATCH 17/23] Fix gravatar in main/wiki/wiki.inc.php - refs #4507 --- main/wiki/wiki.inc.php | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/main/wiki/wiki.inc.php b/main/wiki/wiki.inc.php index 962d79a7f3..949d8e82c5 100755 --- a/main/wiki/wiki.inc.php +++ b/main/wiki/wiki.inc.php @@ -1864,13 +1864,14 @@ class Wiki $userinfo = api_get_user_info(api_get_user_id()); $username = api_htmlentities(sprintf(get_lang('LoginX'), $userinfo['username'], ENT_QUOTES)); $name = $userinfo['complete_name']." - ".$username; - if (api_get_user_id()<>0) { - $image_path = UserManager::get_user_picture_path_by_id(api_get_user_id(),'web',false, true); + + $photo= ''.$name.''; + + if (api_get_user_id() || api_get_configuration_value('gravatar_enabled')) { + $image_path = UserManager::get_user_picture_path_by_id(api_get_user_id(), 'web', false, true); $image_repository = $image_path['dir']; $existing_image = $image_path['file']; - $photo= ''.$name.''; - } else { - $photo= ''.$name.''; + $photo = '' . $name . ''; } //teacher assignment title From 10f7ae8b47f5eec4059f2a5e7e7548db6932b1e8 Mon Sep 17 00:00:00 2001 From: Imanol Losada Date: Wed, 1 Apr 2015 11:28:54 -0500 Subject: [PATCH 18/23] Another gravatar fix in main/wiki/wiki.inc.php - refs #4507 --- main/wiki/wiki.inc.php | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/main/wiki/wiki.inc.php b/main/wiki/wiki.inc.php index 949d8e82c5..49eb017b98 100755 --- a/main/wiki/wiki.inc.php +++ b/main/wiki/wiki.inc.php @@ -1861,14 +1861,15 @@ class Wiki $all_students_pages = array(); //data about teacher - $userinfo = api_get_user_info(api_get_user_id()); + $userId = api_get_user_id(); + $userinfo = api_get_user_info($userId); $username = api_htmlentities(sprintf(get_lang('LoginX'), $userinfo['username'], ENT_QUOTES)); $name = $userinfo['complete_name']." - ".$username; $photo= ''.$name.''; - if (api_get_user_id() || api_get_configuration_value('gravatar_enabled')) { - $image_path = UserManager::get_user_picture_path_by_id(api_get_user_id(), 'web', false, true); + if ($userId) { + $image_path = UserManager::get_user_picture_path_by_id($userId, 'web', false, true); $image_repository = $image_path['dir']; $existing_image = $image_path['file']; $photo = '' . $name . ''; @@ -1878,7 +1879,7 @@ class Wiki $title_orig = $values['title']; //teacher assignment reflink - $link2teacher = $values['title'] = $title_orig."_uass".api_get_user_id(); + $link2teacher = $values['title'] = $title_orig."_uass".$userId; //first: teacher name, photo, and assignment description (original content) // $content_orig_A='
    '.$photo.'
    '.api_get_person_name($userinfo['firstname'], $userinfo['lastname']).'
    ('.get_lang('Teacher').')

    '; @@ -1892,7 +1893,7 @@ class Wiki //Second: student list (names, photo and links to their works). //Third: Create Students work pages. foreach ($a_users_to_add as $o_user_to_add) { - if ($o_user_to_add['user_id'] != api_get_user_id()) { + if ($o_user_to_add['user_id'] != $userId) { //except that puts the task $assig_user_id = $o_user_to_add['user_id']; //identifies each page as created by the student, not by teacher $image_path = UserManager::get_user_picture_path_by_id($assig_user_id,'web',false, true); @@ -1942,7 +1943,7 @@ class Wiki } foreach ($a_users_to_add as $o_user_to_add) { - if ($o_user_to_add['user_id'] == api_get_user_id()) { + if ($o_user_to_add['user_id'] == $userId) { $assig_user_id=$o_user_to_add['user_id']; if ($assignment_type == 1) { $values['title']= $title_orig; @@ -3238,13 +3239,14 @@ class Wiki $user_id = $row['userc_id']; $name = $userinfo['complete_name']; - if ($user_id<>0) { + + $author_photo= ''.api_htmlentities($name).''; + + if ($user_id) { $image_path = UserManager::get_user_picture_path_by_id($user_id,'web',false, true); $image_repository = $image_path['dir']; $existing_image = $image_path['file']; $author_photo= ''.api_htmlentities($name).''; - } else { - $author_photo= ''.api_htmlentities($name).''; } //stars From 2020fef9a4266e734f717dc3b55d31cf370a2573 Mon Sep 17 00:00:00 2001 From: Imanol Losada Date: Wed, 1 Apr 2015 11:30:10 -0500 Subject: [PATCH 19/23] Fix wiki discuss query - refs #4507 --- main/wiki/wiki.inc.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main/wiki/wiki.inc.php b/main/wiki/wiki.inc.php index 49eb017b98..e6441783b3 100755 --- a/main/wiki/wiki.inc.php +++ b/main/wiki/wiki.inc.php @@ -3193,7 +3193,7 @@ class Wiki $sql="SELECT * FROM $tbl_wiki_discuss reviews, $user_table user WHERE reviews.c_id = $course_id AND reviews.publication_id='".$id."' AND user.user_id='".$firstuserid."' - ORDER BY id DESC"; + ORDER BY reviews.id DESC"; $result=Database::query($sql) or die(Database::error()); $countWPost = Database::num_rows($result); From 8637521bb26138772d113092cd3d81d28c6f7c05 Mon Sep 17 00:00:00 2001 From: Imanol Losada Date: Wed, 1 Apr 2015 14:58:51 -0500 Subject: [PATCH 20/23] Add 'getUserPathById' function - refs #4507 --- main/inc/lib/usermanager.lib.php | 33 ++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/main/inc/lib/usermanager.lib.php b/main/inc/lib/usermanager.lib.php index c3c326622f..27ef6a942e 100755 --- a/main/inc/lib/usermanager.lib.php +++ b/main/inc/lib/usermanager.lib.php @@ -5287,4 +5287,37 @@ EOF; } return $url; } + + /** + * Get user path from user ID (returns an array). + * The return format is a complete path, enabling recovery of the directory + * with dirname(). This also works for the functions dealing with the + * user's productions, as they are located in the same directory. + * @param integer User ID + * @param string Optional. Type of path to return (can be 'system', 'rel', 'web') + * @return string User path + */ + public static function getUserPathById($id, $type = null) + { + $user_id = intval($id); + if (!$user_id) { + return null; + } + $userPath = "upload/users/$user_id/"; + if (api_get_setting('split_users_upload_directory') === 'true') { + $userPath = 'upload/users/'.substr((string) $user_id, 0, 1).'/'.$user_id.'/'; + } + switch ($type) { + case 'system': // Base: absolute system path. + $userPath = api_get_path(SYS_CODE_PATH).$userPath; + break; + case 'rel': // Base: semi-absolute web path (no server base). + $userPath = api_get_path(REL_CODE_PATH).$userPath; + break; + case 'web': // Base: absolute web path. + $userPath = api_get_path(WEB_CODE_PATH).$userPath; + break; + } + return $userPath; + } } From 1cecc9abbeba82b43febed1fd3b40b0556143e15 Mon Sep 17 00:00:00 2001 From: Imanol Losada Date: Wed, 1 Apr 2015 15:00:26 -0500 Subject: [PATCH 21/23] Replace 'get_user_picture_path_by_id' with 'getUserPathById' calls when only directory is needed - refs #4507 --- main/auth/profile.php | 3 +-- main/inc/course_document.inc.php | 7 +++---- main/inc/lib/certificate.lib.php | 14 ++++++------- main/inc/lib/extra_field_value.lib.php | 6 ++---- main/inc/lib/message.lib.php | 4 ++-- main/inc/lib/social.lib.php | 5 ++--- .../svg-edit/extensions/imagelib/users.php | 8 +++----- main/messages/download.php | 2 +- .../Editor/Driver/PersonalDriver.php | 20 +++++++------------ 9 files changed, 28 insertions(+), 41 deletions(-) diff --git a/main/auth/profile.php b/main/auth/profile.php index 65830560f7..a989e25936 100755 --- a/main/auth/profile.php +++ b/main/auth/profile.php @@ -323,8 +323,7 @@ function is_profile_editable() { * @return The filename of the new production or FALSE if the upload has failed */ function upload_user_production($user_id) { - $image_path = UserManager::get_user_picture_path_by_id($user_id, 'system'); - $production_repository = $image_path['dir']; + $production_repository = UserManager::getUserPathById($user_id, 'system'); if (!file_exists($production_repository)) { @mkdir($production_repository, api_get_permissions_for_new_directories(), true); diff --git a/main/inc/course_document.inc.php b/main/inc/course_document.inc.php index 44b75f1c23..6bd71b26a3 100755 --- a/main/inc/course_document.inc.php +++ b/main/inc/course_document.inc.php @@ -64,10 +64,9 @@ if (api_is_in_course()) { $http_www = $_configuration['root_web'].'home/default_platform_document/'; } else { // 4. The user is outside courses. - $my_path = UserManager::get_user_picture_path_by_id(api_get_user_id(),'system'); - $base_work_dir = $my_path['dir'].'my_files/'; - $my_path = UserManager::get_user_picture_path_by_id(api_get_user_id(),'web'); - $http_www = $my_path['dir'].'my_files/'; + $userId = api_get_user_id(); + $base_work_dir = UserManager::getUserPathById($userId, 'system').'my_files/'; + $http_www = UserManager::getUserPathById($userId, 'web').'my_files/'; } } diff --git a/main/inc/lib/certificate.lib.php b/main/inc/lib/certificate.lib.php index 8314e9f1fc..4dc7a3a1f0 100755 --- a/main/inc/lib/certificate.lib.php +++ b/main/inc/lib/certificate.lib.php @@ -89,15 +89,15 @@ class Certificate extends Model $this->certification_user_path = null; //Setting certification path - $path_info = UserManager::get_user_picture_path_by_id($this->user_id, 'system'); - $web_path_info = UserManager::get_user_picture_path_by_id($this->user_id, 'web'); + $path_info = UserManager::getUserPathById($this->user_id, 'system'); + $web_path_info = UserManager::getUserPathById($this->user_id, 'web'); - if (!empty($path_info) && isset($path_info['dir'])) { - $this->certification_user_path = $path_info['dir'].'certificate/'; - $this->certification_web_user_path = $web_path_info['dir'].'certificate/'; + if (!empty($path_info) && isset($path_info)) { + $this->certification_user_path = $path_info.'certificate/'; + $this->certification_web_user_path = $web_path_info.'certificate/'; - if (!is_dir($path_info['dir'])) { - mkdir($path_info['dir'], 0777, true); + if (!is_dir($path_info)) { + mkdir($path_info, 0777, true); } if (!is_dir($this->certification_user_path)) { mkdir($this->certification_user_path, 0777); diff --git a/main/inc/lib/extra_field_value.lib.php b/main/inc/lib/extra_field_value.lib.php index c29c7f1c6a..0521bb173b 100755 --- a/main/inc/lib/extra_field_value.lib.php +++ b/main/inc/lib/extra_field_value.lib.php @@ -172,8 +172,7 @@ class ExtraFieldValue extends Model $fileDir = "upload/sessions/"; break; case 'user': - $userPath = UserManager::get_user_picture_path_by_id($this->handler_id); - $fileDir = $userPath['dir']; + $fileDir = UserManager::getUserPathById($this->handler_id); break; } @@ -212,8 +211,7 @@ class ExtraFieldValue extends Model $fileDir = "upload/sessions/"; break; case 'user': - $userPath = UserManager::get_user_picture_path_by_id($this->handler_id); - $fileDir = $userPath['dir']; + $fileDir = UserManager::getUserPathById($this->handler_id); break; } diff --git a/main/inc/lib/message.lib.php b/main/inc/lib/message.lib.php index dac6c1f0f6..8c5c0a59ea 100755 --- a/main/inc/lib/message.lib.php +++ b/main/inc/lib/message.lib.php @@ -502,7 +502,7 @@ class MessageManager if (!empty($group_id)) { $path_user_info = GroupPortalManager::get_group_picture_path_by_id($group_id, 'system', true); } else { - $path_user_info = UserManager::get_user_picture_path_by_id($message_user_id, 'system', true); + $path_user_info['dir'] = UserManager::getUserPathById($message_user_id, 'system'); } $path_message_attach = $path_user_info['dir'].'message_attachments/'; @@ -548,7 +548,7 @@ class MessageManager if (!empty($group_id)) { $path_user_info = GroupPortalManager::get_group_picture_path_by_id($group_id, 'system', true); } else { - $path_user_info = UserManager::get_user_picture_path_by_id($message_uid, 'system', true); + $path_user_info['dir'] = UserManager::getUserPathById($message_uid, 'system'); } $path_message_attach = $path_user_info['dir'].'message_attachments/'; diff --git a/main/inc/lib/social.lib.php b/main/inc/lib/social.lib.php index a8ac2f34fa..4c77941780 100755 --- a/main/inc/lib/social.lib.php +++ b/main/inc/lib/social.lib.php @@ -1172,9 +1172,8 @@ class SocialManager extends UserManager $tbl_message_attach = Database::get_main_table(TABLE_MESSAGE_ATTACHMENT); // create directory - $pathUserInfo = UserManager::get_user_picture_path_by_id($userId, 'system', true); $social = '/social/'; - $pathMessageAttach = $pathUserInfo['dir'] . 'message_attachments'. $social; + $pathMessageAttach = UserManager::getUserPathById($userId, 'system').'message_attachments'.$social; $safeFileComment = Database::escape_string($fileComment); $safeFileName = Database::escape_string($fileAttach['name']); @@ -1410,10 +1409,10 @@ class SocialManager extends UserManager $wallImage = ''; if (!empty($message['path'])) { $pathUserInfo = UserManager::get_user_picture_path_by_id($authorId, 'web', true); - $pathImg = $pathUserInfo['dir'] . 'message_attachments'; $imageBig = $pathUserInfo['file']; $imageSmall = $pathUserInfo['file']; if (!api_get_configuration_value('gravatar_enabled')) { + $pathImg = UserManager::getUserPathById($authorId, 'web').'message_attachments'; $imageBig = $pathImg .self::getImagePath($message['path'], IMAGE_WALL_BIG); $imageSmall = $pathImg. self::getImagePath($message['path'], IMAGE_WALL_SMALL); } diff --git a/main/inc/lib/svg-edit/extensions/imagelib/users.php b/main/inc/lib/svg-edit/extensions/imagelib/users.php index 38b4e4b235..74e633b3d6 100755 --- a/main/inc/lib/svg-edit/extensions/imagelib/users.php +++ b/main/inc/lib/svg-edit/extensions/imagelib/users.php @@ -10,11 +10,9 @@ require_once '../../../../../inc/global.inc.php'; api_protect_course_script(); api_block_anonymous_users(); -$my_path = UserManager::get_user_picture_path_by_id(api_get_user_id(), 'system'); -$user_disk_path = $my_path['dir'].'my_files/'; - -$my_path = UserManager::get_user_picture_path_by_id(api_get_user_id(),'web'); -$user_web_path = $my_path['dir'].'my_files/'; +$userId = api_get_user_id(); +$user_disk_path = UserManager::getUserPathById($userId, 'system').'my_files/'; +$user_web_path = UserManager::getUserPathById($userId, 'web').'my_files/'; //get all files and folders $scan_files = scandir($user_disk_path); diff --git a/main/messages/download.php b/main/messages/download.php index b3b60933f0..f77f28fc72 100755 --- a/main/messages/download.php +++ b/main/messages/download.php @@ -78,7 +78,7 @@ if ($not_allowed_to_edit) { if (!empty($row_users['group_id'])) { $path_user_info = GroupPortalManager::get_group_picture_path_by_id($row_users['group_id'], 'system', true); } else { - $path_user_info = UserManager::get_user_picture_path_by_id($message_uid, 'system', true); + $path_user_info['dir'] = UserManager::getUserPathById($message_uid, 'system'); } $full_file_name = $path_user_info['dir'].'message_attachments/'.$file_url; diff --git a/src/Chamilo/CoreBundle/Component/Editor/Driver/PersonalDriver.php b/src/Chamilo/CoreBundle/Component/Editor/Driver/PersonalDriver.php index ec03cad18a..29fc311908 100644 --- a/src/Chamilo/CoreBundle/Component/Editor/Driver/PersonalDriver.php +++ b/src/Chamilo/CoreBundle/Component/Editor/Driver/PersonalDriver.php @@ -18,9 +18,9 @@ class PersonalDriver extends Driver implements DriverInterface public function setup() { $userId = api_get_user_id(); - $path = \UserManager::get_user_picture_path_by_id($userId, 'none'); - if (!empty($path['dir'])) { - $dir = api_get_path(SYS_CODE_PATH) . $path['dir']; + $path = \UserManager::getUserPathById($userId); + if (!empty($path)) { + $dir = api_get_path(SYS_CODE_PATH) . $path; if (!is_dir($dir)) { mkdir($dir); @@ -44,21 +44,15 @@ class PersonalDriver extends Driver implements DriverInterface if (!empty($userId)) { // Adding user personal files - $dir = \UserManager::get_user_picture_path_by_id( - $userId, - 'system' - ); + $dir = \UserManager::getUserPathById($userId, 'system'); - $dirWeb = \UserManager::get_user_picture_path_by_id( - $userId, - 'web' - ); + $dirWeb = \UserManager::getUserPathById($userId, 'web'); $driver = array( 'driver' => 'PersonalDriver', 'alias' => get_lang('MyFiles'), - 'path' => $dir['dir'] . 'my_files', - 'URL' => $dirWeb['dir'] . 'my_files', + 'path' => $dir.'my_files', + 'URL' => $dirWeb.'my_files', 'accessControl' => array($this, 'access') ); From 7886ba95dd3529d78d16d80fc5dcdf74d50363fd Mon Sep 17 00:00:00 2001 From: Imanol Losada Date: Wed, 1 Apr 2015 15:06:29 -0500 Subject: [PATCH 22/23] Fix gravatar big image url - refs #4507 --- main/user/userInfo.php | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/main/user/userInfo.php b/main/user/userInfo.php index 3a70a0de4d..e6f65974b5 100755 --- a/main/user/userInfo.php +++ b/main/user/userInfo.php @@ -431,8 +431,10 @@ elseif ($displayMode == "viewContentEdit") { $big_image_size = api_getimagesize($big_image); $big_image_width= $big_image_size['width']; $big_image_height= $big_image_size['height']; - $url_big_image = $big_image.'?rnd='.time(); - + $url_big_image = $image_array['file']; + if (!api_get_configuration_value('gravatar_enabled')) { + $url_big_image = $big_image.'?rnd='.time(); + } if ($image_array['file']=='unknown.jpg') { echo ''; } else { From e6cbdcca8f8eb33ad951db0f04b88cf5167a7c94 Mon Sep 17 00:00:00 2001 From: Imanol Losada Date: Wed, 1 Apr 2015 15:29:56 -0500 Subject: [PATCH 23/23] Fix productions web path - refs #4507 --- main/inc/lib/social.lib.php | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/main/inc/lib/social.lib.php b/main/inc/lib/social.lib.php index 4c77941780..dae1049b3d 100755 --- a/main/inc/lib/social.lib.php +++ b/main/inc/lib/social.lib.php @@ -1041,10 +1041,9 @@ class SocialManager extends UserManager */ public static function display_productions($user_id) { - $sysdir_array = UserManager::get_user_picture_path_by_id($user_id, 'system', true); - $sysdir = $sysdir_array['dir']; $webdir_array = UserManager::get_user_picture_path_by_id($user_id, 'web', true); - $webdir = $webdir_array['dir']; + $sysdir = UserManager::getUserPathById($user_id, 'system'); + $webdir = UserManager::getUserPathById($user_id, 'web'); if (!is_dir($sysdir)) { mkdir($sysdir, api_get_permissions_for_new_directories(), true);