{ global $page_size; $start = $page * $page_size; $response = get_report_for_filter(array('_start' => "{$start}", '_limit' => "{$page_size}", '__skip_total_rows' => 'true')); return $response['data']; } // Get the total number of report rows $report_row_count = get_report_row_count(); $workbooks->log('Report Total', $report_row_count); // Work out how many pages to page through $pages = ceil($report_row_count / $page_size); // Build the regex to match words $words_regex = '/\\b' . implode('|', $words_to_count) . '\\b/'; // Page through the Report counting the specified words $results = array(); for ($page = 0; $page < $pages; $page++) { $page_data = get_report_data_for_page($page); foreach ($page_data as $report_row) { $matches = array(); if (preg_match_all($words_regex, $report_row[$name_column], $matches)) { if (is_array($matches[0])) { foreach ($matches[0] as $matched_name) { $results[$matched_name] = array_key_exists($matched_name, $results) ? $results[$matched_name] + 1 : 1; } } } } } $workbooks->log('Word Counts', $results); testExit($workbooks);
function schedule_import_job($import_job_id, $run_after_imp_job_id = null) { global $workbooks; /* The lock_version can change unexpectedly, so fetch it now */ $import_job = fetch_import_job_matching(array('id', 'eq', $import_job_id)); $update_import_job = array('id' => $import_job['id'], 'lock_version' => "{$import_job['lock_version']}", 'status' => 'API_QUEUED', 'auto_approve' => true, 'suppress_notification' => true, 'run_after_imp_job_id' => $run_after_imp_job_id); $update_import_job_response = $workbooks->assertUpdate('import/imp_jobs', $update_import_job); $import_job_status = $update_import_job_response['affected_objects'][0]['status']; if ($import_job_status != 'QUEUED') { $workbooks->log('Failed to schedule the Import Job', $update_import_job_response); testExit($workbooks, 1); } $workbooks->log("schedule_import_job(): update_import_job_response", $update_import_job_response); }