function import_process_data(&$user, &$data, $more = array()) { # # First do some sanity-checking on the data before # we bother to create a sheet. # $rsp = import_ensure_valid_data($data); if (!$rsp['ok']) { return $rsp; } # # CAN I HAS MAH SHEET? # $sheet_rsp = sheets_create_sheet($user, $more); if (!$sheet_rsp['ok']) { return $sheet_rsp; } $sheet = $sheet_rsp['sheet']; # # OMG!!! IT'S FULL OF DOTS!!!! # $more['skip_validation'] = 1; # see above $dots_rsp = dots_import_dots($user, $sheet_rsp['sheet'], $data, $more); # No soup for sheet! Or is it the other way around... if (!$dots_rsp['ok']) { sheets_delete_sheet($sheet); } else { $dots_rsp['sheet'] = $sheet; $count_rsp = sheets_update_dot_count_for_sheet($sheet); $dots_rsp['update_sheet_count'] = $count_rsp['ok']; if ($more['return_dots']) { $dots_rsp['dots'] = dots_get_dots_for_sheet($sheet, $sheet['user_id']); } } return $dots_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; }