} ### 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 exit(json_encode(array('result' => 1, 'msg' => (string) Language::GetText('success_avatar_updated'), 'other' => $user->avatar_url))); } catch (Exception $e) { exit(json_encode(array('result' => 0, 'msg' => $e->getMessage()))); }
/** * Delete a record * @param integer $id ID of record to be deleted * @return void Record is deleted from database */ static function Delete($id) { App::LoadClass('Privacy'); App::LoadClass('Avatar'); App::LoadClass('Video'); App::LoadClass('Subscription'); App::LoadClass('Rating'); App::LoadClass('Flag'); App::LoadClass('Favorite'); App::LoadClass('Comment'); App::LoadClass('Post'); App::LoadClass('Message'); $db = Database::GetInstance(); $user = new self($id); Plugin::Trigger('user.delete'); // Delete Avatar if (!empty($user->avatar)) { Avatar::Delete($user->avatar); } // Delete Privacy Record $privacy_id = Privacy::Exist(array('user_id' => $id)); Privacy::Delete($privacy_id); // Delete Comments $query = "SELECT comment_id FROM " . DB_PREFIX . "comments WHERE user_id = {$id}"; $result = $db->Query($query); while ($row = $db->FetchObj($result)) { Comment::Delete($row->comment_id); } // Delete Ratings $query = "SELECT rating_id FROM " . DB_PREFIX . "ratings WHERE user_id = {$id}"; $result = $db->Query($query); while ($row = $db->FetchObj($result)) { Rating::Delete($row->rating_id); } // Delete Favorites $query = "SELECT fav_id FROM " . DB_PREFIX . "favorites WHERE user_id = {$id}"; $result = $db->Query($query); while ($row = $db->FetchObj($result)) { Favorite::Delete($row->fav_id); } // Delete Flags $query = "SELECT flag_id FROM " . DB_PREFIX . "flags WHERE id = {$id} AND type = 'user'"; $result = $db->Query($query); while ($row = $db->FetchObj($result)) { Flag::Delete($row->flag_id); } // Delete Subscriptions $query = "SELECT sub_id FROM " . DB_PREFIX . "subscriptions WHERE user_id = {$id} OR member = {$id}"; $result = $db->Query($query); while ($row = $db->FetchObj($result)) { Subscription::Delete($row->sub_id); } // Delete Posts $query = "SELECT post_id FROM " . DB_PREFIX . "posts WHERE user_id = {$id}"; $result = $db->Query($query); while ($row = $db->FetchObj($result)) { Post::Delete($row->post_id); } // Delete Messages $query = "SELECT message_id FROM " . DB_PREFIX . "messages WHERE user_id = {$id} OR recipient = {$id}"; $result = $db->Query($query); while ($row = $db->FetchObj($result)) { Message::Delete($row->message_id); } // Delete Videos $query = "SELECT video_id FROM " . DB_PREFIX . "videos WHERE user_id = {$id}"; $result = $db->Query($query); while ($row = $db->FetchObj($result)) { Video::Delete($row->video_id); } // Delete Privacy $query = "SELECT privacy_id FROM " . DB_PREFIX . "privacy WHERE user_id = {$id}"; $result = $db->Query($query); while ($row = $db->FetchObj($result)) { Privacy::Delete($row->privacy_id); } // Delete User $query = "DELETE FROM " . DB_PREFIX . self::$table . " WHERE " . self::$id_name . " = {$id}"; $db->Query($query); }