function flickr_contacts_purge_contacts(&$user) { $cluster_id = $user['cluster_id']; $enc_id = AddSlashes($user['id']); $sql = "DELETE FROM FlickrContacts WHERE user_id='{$enc_id}'"; $rsp = db_write_users($cluster_id, $sql); return $rsp; }
function flickr_geobookmarks_purge_for_user(&$user) { $cluster_id = $user['cluster_id']; $enc_id = AddSlashes($user['id']); $sql = "DELETE FROM FlickrGeoBookmarks WHERE user_id='{$enc_id}'"; $rsp = db_write_users($cluster_id, $sql); return $rsp; }
function flickr_push_photos_purge() { $now = time(); $then = $now - 60 * 60 * 24; $enc_then = AddSlashes($then); $sql = "DELETE FROM FlickrPushPhotos WHERE created < {$enc_then}"; foreach ($GLOBALS['cfg']['db_users']['host'] as $cluster_id => $ignore) { db_write_users($cluster_id, $sql); } }
function flickr_push_subscriptions_delete(&$subscription) { $user = users_get_by_id($subscription['user_id']); $cluster_id = $user['cluster_id']; $enc_id = AddSlashes($subscription['id']); $sql = "DELETE FROM FlickrPushSubscriptions WHERE id='{$enc_id}'"; $rsp = db_write_users($cluster_id, $sql); if ($rsp['ok']) { _flickr_push_subscriptions_purge_cache_keys($subscription); } return $rsp; }
function sheets_delete_sheet(&$sheet) { # # Figure out where the sheet is stored # loadlib("archive"); $archive_path = archive_path_for_sheet($sheet); # export_cache_purge_sheet($sheet); # # Purge search # dots_search_remove_sheet($sheet); dots_search_extras_remove_sheet($sheet); # # Okay, go # $user = users_get_by_id($sheet['user_id']); $enc_id = AddSlashes($sheet['id']); $sql = "SELECT * FROM Dots WHERE sheet_id='{$enc_id}'"; $more = array('page' => 1, 'per_page' => 1000); $page_count = null; $total_count = null; $dots_deleted = 0; while (!isset($page_count) || $page_count >= $more['page']) { $rsp = db_fetch_paginated_users($user['cluster_id'], $sql, $more); if (!$rsp['ok']) { $rsp['dots_deleted'] = $dots_deleted; $rsp['dots_count'] = $total_count; return $rsp; } if (!isset($page_count)) { $page_count = $rsp['pagination']['page_count']; $total_count = $rsp['pagination']['total_count']; } foreach ($rsp['rows'] as $dot) { $dot_more = array('skip_update_sheet' => 1, 'skip_update_search' => 1); $dot_rsp = dots_delete_dot($dot, $dot_more); if ($dot_rsp['ok']) { $dots_deleted++; } } $more['page']++; } $sql = "DELETE FROM Sheets WHERE id='{$enc_id}'"; $rsp = db_write_users($user['cluster_id'], $sql); # Dot specific caches are purged above when we call # dots_delete_dot. $cache_keys = array("sheet_{$sheet['id']}", "sheets_counts_for_user_{$sheet['user_id']}", "sheets_counts_for_user_{$sheet['user_id']}_public"); foreach ($cache_keys as $key) { cache_unset($key); } # # Update the lookup table # $update = array('deleted' => time()); $lookup_rsp = sheets_lookup_update($sheet, $update); if (!$lookup_rsp['ok']) { # what? } # # Remove the upload (if any) # if (file_exists($archive_path)) { $ok = unlink($archive_path); # if not $ok then what? } # Remove any cache exports export_cache_purge_sheet($sheet); # # Happy happy! # $rsp['dots_deleted'] = $dots_deleted; $rsp['dots_count'] = $total_count; return $rsp; }
function dots_delete_dot(&$dot, $more = array()) { # # Update the search and extras table (check to see that # we haven't already done this, for example if we're in # the process of deleting a user or a sheet) # if (!isset($more['skip_update_search'])) { $search_rsp = dots_search_remove_dot($dot); if (!$search_rsp['ok']) { # What? } $extras_rsp = dots_search_extras_remove_dot($dot); if (!$extras_rsp['ok']) { # What? } } # # Okay. Let's start deleting the dot itself! # $user = users_get_by_id($dot['user_id']); $enc_id = AddSlashes($dot['id']); $sql = "DELETE FROM Dots WHERE id='{$enc_id}'"; $rsp = db_write_users($user['cluster_id'], $sql); if (!$rsp['ok']) { return $rsp; } if (!isset($more['skip_update_sheet'])) { $sheet = sheets_get_sheet($dot['sheet_id']); $rsp2 = sheets_update_dot_count_for_sheet($sheet); $rsp['update_sheet_count'] = $rsp2['ok']; } # # Update the extras table # $extras_rsp = dots_search_extras_remove_dot($dot); if (!$extras_rsp['ok']) { # What? } # # Update the lookup table # $lookup_update = array('deleted' => time()); $lookup_rsp = dots_lookup_update($dot, $lookup_update); if (!$lookup_rsp['ok']) { # What? } # if ($rsp['ok']) { $cache_keys = array("dot_{$dot['id']}", "dot_bookends_{$dot['id']}", "dot_bookends_{$dot['id']}_public", "dots_for_sheet_{$dot['sheet_id']}", "dots_for_sheet_{$dot['sheet_id']}_public", "dots_count_for_sheet_{$dot['sheet_id']}", "sheet_extent_{$dot['sheet_id']}", "sheet_extent_{$dot['sheet_id']}_public"); foreach ($cache_keys as $key) { cache_unset($key); } } return $rsp; }