diff --git a/core/modules/user/user.install b/core/modules/user/user.install index 9e237e7..d9e785c 100644 --- a/core/modules/user/user.install +++ b/core/modules/user/user.install @@ -484,18 +484,6 @@ function user_update_8003() { * Migrate {users}.picture to 'user_picture' image field. */ function user_update_8004(&$sandbox) { - // User pictures can only be migrated to the new user picture image field - // if Image module is installed. - if (!module_exists('image')) { - $modules = array( - 'image', - ); - if (!module_exists('file')) { - $modules[] = 'file'; - } - update_module_enable($modules); - } - // Initialize total values to process. if (!isset($sandbox['total'])) { $sandbox['total'] = (int) db_query('SELECT COUNT(picture) FROM {users} WHERE picture > 0')->fetchField(); @@ -523,11 +511,20 @@ function user_update_8004(&$sandbox) { 'user_picture_fid' => $fid, )) ->execute(); - // Remove file usage. - // file_usage_delete() does not invoke File API functions or hooks and can - // be safely called here. - $file = (object) array('fid' => $fid); - file_usage_delete($file, 'user', 'user', $uid); + + // Update file usage from user to file module. + // @see file_field_insert() + // Old: file_usage_add($picture, 'user', 'user', $entity->uid); + // New: file_usage_add(file_load($item['fid']), 'file', $entity_type, $id); + db_update('file_usage') + ->condition('fid', $fid) + ->condition('module', 'user') + ->condition('type', 'user') + ->condition('id', $uid) + ->fields(array( + 'module' => 'file', + )) + ->execute(); } // Report status.