Esempio n. 1
0
    }
    ### 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())));
}
Esempio n. 2
0
 /**
  * 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);
 }