function upload_default_avatar_submit in Upload default avatar (user picture) 7
Submit functoin: 1. remove old image 2. move valid image to pictures destination 3. assign new image to 'user_picture_default'
_state
Parameters
$form:
1 string reference to 'upload_default_avatar_submit'
File
Code
function upload_default_avatar_submit(&$form, &$form_state) {
// If we have new image move it to pictures destination
if (!empty($form_state['values']['user_picture_default_upload'])) {
$picture = $form_state['values']['user_picture_default_upload'];
// Force delete prev file from everywhere, I mean all image styles caches
// Files can be with the same extension and with differ.
if (variable_get('upload_default_avatar_fid')) {
$prevpicture = file_load(variable_get('upload_default_avatar_fid'));
file_usage_delete($prevpicture, 'upload_default_avatar', 'user', '0');
file_delete($prevpicture, $force = TRUE);
}
if (is_numeric($picture->fid)) {
// Save image permanently
if (!$picture->status) {
$info = image_get_info($picture->uri);
$picture_directory = file_build_uri(variable_get('user_picture_path', 'pictures'));
// Prepare the pictures directory.
file_prepare_directory($picture_directory, FILE_CREATE_DIRECTORY);
$destination = file_stream_wrapper_uri_normalize($picture_directory . '/picture-default.' . $info['extension']);
// Move the temporary file into the final location.
if ($picture = file_move($picture, $destination, FILE_EXISTS_REPLACE)) {
$picture->filename = 'picture-default.' . $info['extension'];
$picture->status = FILE_STATUS_PERMANENT;
file_save($picture);
file_usage_add($picture, 'upload_default_avatar', 'user', '0');
// Set this image to default user picture
variable_set('user_picture_default', $picture->uri);
// Remember file ID
variable_set('upload_default_avatar_fid', $picture->fid);
}
}
}
}
}