Esempio n. 1
0
 ### Validate avatar extension
 $extension = Functions::GetExtension($_FILES['upload']['name']);
 if (!in_array($extension, array('gif', 'png', 'jpg', 'jpeg'))) {
     throw new Exception(Language::GetText('error_uploadify_extension'));
 }
 ### Validate image data
 $handle = fopen($_FILES['upload']['tmp_name'], 'r');
 $image_data = fread($handle, filesize($_FILES['upload']['tmp_name']));
 if (!@imagecreatefromstring($image_data)) {
     throw new Exception(Language::GetText('error_uploadify_extension'));
 }
 ### Change permissions on avatar & delete previous IF/APP
 try {
     Filesystem::Open();
     $avatar_path = UPLOAD_PATH . '/avatars';
     $save_as = Avatar::CreateFilename($extension);
     Avatar::SaveAvatar($_FILES['upload']['tmp_name'], $extension, $save_as);
     // Check for existing avatar
     if (!empty($user->avatar)) {
         Avatar::Delete($user->avatar);
     }
     Filesystem::SetPermissions("{$avatar_path}/{$save_as}", 0644);
     Filesystem::Close();
 } catch (Exception $e) {
     App::Alert('Error During Avatar Upload', $e->getMessage());
     throw new Exception(Language::GetText('error_uploadify_system', array('host' => HOST)));
 }
 ### Update User
 $user->Update(array('avatar' => $save_as));
 Plugin::Trigger('update_profile.update_avatar');
 // Output success message