Showing posts with label User Profile Image Updation. Show all posts
Showing posts with label User Profile Image Updation. Show all posts

Monday, September 26, 2011

First uploaded picture not overwrite when resubmit the user picture

1. Upload a user picture
2. delete the picture
3. resubmit another picture.

Error: The first picture was not replaced.

delete all caching mechanisms (Website/browser) and retry.

Ans:

We can't change the core module(user.module). So we can change in hook_user. May be this will get error when we upgrade the version.

Another way to change the user picture.

Use hook_user function, in switch case, rename the file path with timestamp and update user table as same file path

Example:

function hook_user($op, &$edit, &$account, $category = NULL) {
switch($op){
case 'after_update':
case 'after_update':
$old_filename = $account->picture;
$filename = basename($account->picture);
$fileArray = explode('.', $filename);
$finalFilename = $fileArray[0].'-'.time().'.'.$fileArray[1];
$pictureArray = explode('/', $account->picture);
$pictureArray[count($pictureArray)-1]=$finalFilename;
$picturePath = implode('/', $pictureArray);
$account->picture = $picturePath;
rename($old_filename, $picturePath);
db_query("UPDATE users SET picture='$picturePath' WHERE uid=%d", $account->uid);
break;
}
}

This will work.