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; }
# $format = get_str('format'); if (!$format) { $format = 'csv'; } $map = formats_valid_export_map('key by extension'); if (!isset($map[$format])) { error_404(); } # Hey look! At least to start we are deliberately not doing # any pagination on the 'dots-for-a-sheet' page. We'll see # how long its actually sustainable but for now it keeps a # variety of (display) avenues open. # (20101025/straup) $more = array('per_page' => $GLOBALS['cfg']['import_max_records'], 'sort' => request_str('_sort'), 'order' => request_str('_order')); $sheet['dots'] = dots_get_dots_for_sheet($sheet, $GLOBALS['cfg']['user']['id'], $more); $bbox = implode(", ", array_values($sheet['extent'])); # valid extras are things like $export_more = array('viewer_id' => $GLOBALS['cfg']['user']['id']); if ($format == "json" && ($cb = get_str("callback"))) { $export_more['callback'] = $cb; } // added by seanc(6/21/2011) if ($format == "json" && isset($sheet['label'])) { $export_more['sheet_label'] = $sheet['label']; $export_more['sheet_extent'] = $bbox; } $export_props = export_collect_user_properties($format); $export_more = array_merge($export_props, $export_more); # caching? $ok_cache = 1;
function sheets_load_details(&$sheet, $viewer_id = 0, $more = array()) { if ($more['load_extent']) { $sheet['extent'] = dots_get_extent_for_sheet($sheet, $viewer_id); } if ($more['load_dots']) { $sheet['dots'] = dots_get_dots_for_sheet($sheet, $viewer_id); } if ($more['load_user']) { $sheet['user'] = users_get_by_id($sheet['user_id']); } }