break;
			case 'FBRMTR':
				$equiv_lo = '';
				break;
			case 'OTHER':
				$equiv_lo = '';
				break;
			default:
				$equiv_lo = '';
		}
		foreach ($event AS $key => $value) {
			$data_row[$pretty_field_names[$key]] = '"' . $value . '"';
			if ($key == 'fib_lborres') {
				$data_row['Serum Fibrosis F4 Eqv'] = '"' . $equiv_lo . '"';
			}
			if ($key == 'fibscn_lborres' && $value != '') {
				$data_row['Fibroscan/Fibrosure F4 Eqv'] = '"' . 8.5 . '"';
			} elseif ($key == 'fibscn_lborres') {
				$data_row['Fibroscan/Fibrosure F4 Eqv'] = '""';
			}
		}
		$row_csv = implode(',', $data_row) . "\n";
		$table_csv .= $row_csv;
	}
}
$headers = implode(',', array_keys($data_row)) . "\n";
if (!$debug) {
	create_download($lang, $app_title, $userid, $headers, $user_rights, $table_csv, '', $parent_chkd_flds, $project_id, "CIRRHOSIS_VALUES", $debug);
} else {
	show_var($table_csv);
}
			 * if the result is excluded or has a query history, ignore it
			 */
			if (!$result['exclude']) {
				d($history);
				//$data_row['monitor'] = $result['record'] & 1 ? 'dianne_mattingly' : 'wendy_robertson';
				$data_row['subjid'] = quote_wrap($result['record']);
				$data_row['usubjid'] = quote_wrap(get_single_field($result['record'], PROJECT_ID, $Proj->firstEventId, 'dm_usubjid', ''));
				$data_row['event'] = quote_wrap(REDCap::getEventNames(false, false, $result['event_id']));
				//$data_row['field'] = quote_wrap($Proj->metadata[$field]['element_label']);
				//$data_row['data'] = quote_wrap(strip_tags(str_replace('<br>', ', ', $result['data_display'])));
				foreach ($data_array AS $key => $val) {
					$data_row[quote_wrap($Proj->metadata[$key]['element_label'] . " [$key]")] = quote_wrap($val);
				}
				$data_row['description'] = quote_wrap($rule_info['name']);
				$data_row["Queries on $field"] = quote_wrap(count($history));
				$row_csv = implode(',', $data_row) . "\n";
				$table_csv .= $row_csv;
			}
		}
	}
	$headers = implode(',', array_keys($data_row)) . "\n";
	if (!$debug) {
		create_download($lang, $app_title, $userid, $headers, $user_rights, $table_csv, '', $parent_chkd_flds, $project_id, substr(camelCase($rule_info['name']), 0, 20) . "_REPORT_", $debug, $rule_info['name']);
	}
	d($headers);
	d($table_csv);
}
$timer['main_end'] = microtime(true);
$init_time = benchmark_timing($timer);
echo $init_time;
/**
 * restricted use
 */
$allowed_pids = array('38');
REDCap::allowProjects($allowed_pids);
/**
 * query redcap_locking_data for relevant information about which forms are locked.
 */
$data_row = array();
$table_csv = "";
$locking_result = db_query("SELECT ld.record, ld.event_id, meta.form_menu_description as form_name, ld.username, ld.timestamp FROM
(SELECT * FROM `redcap_locking_data`) ld
LEFT JOIN
(SELECT project_id, form_name, form_menu_description FROM redcap_metadata WHERE form_menu_description IS NOT NULL) meta
ON ld.project_id = meta.project_id AND ld.form_name = meta.form_name
WHERE ld.project_id = '$project_id'
ORDER BY abs(ld.record) ASC, ld.event_id ASC, ld.timestamp ASC");
if ($locking_result) {
	while ($locking_row = db_fetch_assoc($locking_result)) {
		foreach ($locking_row AS $export_key => $export_value) {
			$data_row[$export_key] = '"' . $export_value . '"';
		}
		$row_csv = implode(',', $data_row) . "\n";
		$table_csv .= $row_csv;
	}
	db_free_result($locking_result);
}
$headers = implode(',', array_keys($data_row)) . "\n";
if (!$debug) {
	create_download($lang, $app_title, $userid, $headers, $user_rights, $table_csv, '', $parent_chkd_flds, $project_id, "LOCKING_STATUS", $debug);
}
$data = REDCap::getData('array', '', $fields);
foreach ($data AS $subject_id => $subject) {
	d($subject);
	/**
	 * SUBJECT-LEVEL vars
	 */
	$data_row = array();
	/**
	 * MAIN EVENT LOOP
	 */
	/*if ($subject[$Proj->firstEventId]['consent_dssstdtc'] != '' && $subject[$Proj->firstEventId]['consent_dssstdtc'] >= $filter_date) {
		foreach ($subject AS $event_id => $event) {
			if ($event['ae_aeser'] == 'Y') {
				foreach ($event AS $key => $value) {
					$data_row[$Proj->metadata[$key]['element_label'] . " [$key]"] = $value;
				}
			}
		}
	}*/
	/*$row_csv = implode(',', $data_row) . "\n";
	$table_csv .= $row_csv;*/
}
$headers = implode(',', array_keys($data_row)) . "\n";
if (!$debug) {
	create_download($lang, $app_title, $userid, $headers, $user_rights, $table_csv, '', $parent_chkd_flds, $project_id, $export_filename, $debug);
}
if ($debug) {
	$timer['main_end'] = microtime(true);
	$init_time = benchmark_timing($timer);
	echo $init_time;
}
			$complete_forms_total = $complete_forms_total + $complete_forms_count;
		}
		/**
		 * output row to table
		 */
		$data_row['Form Name'] = '"' . $form_name_row['form_menu_description'] . '"';
		$data_row['Forms monitored'] = '"' . $locked_forms_count . '"';
		$data_row['Fields monitored'] = '"' . $data_fields_count . '"';
		$data_row['Queries issued'] = '"' . $data_queries_count . '"';
		$data_row['Forms Completed'] = '"' . $complete_forms_count . '"';
		$data_row['Percent monitored'] = '"' . round($locked_forms_count / $complete_forms_count * 100, 2) . '"';
		$row_csv = implode(',', $data_row) . "\n";
		$table_csv .= $row_csv;
	}
	/**
	 * final row
	 */
	$final_row['Form Name'] = 'Totals';
	$final_row['Forms monitored'] = '"' . $locked_forms_total . '"';
	$final_row['Fields monitored'] = '"' . $data_fields_total . '"';
	$final_row['Queries issued'] = '"' . $data_queries_total . '"';
	$final_row['Forms Completed'] = '"' . $complete_forms_total . '"';
	$final_row['Percent monitored'] = '"' . round($locked_forms_total / $complete_forms_total * 100, 2) . '"';
	$table_csv .= implode(',', $final_row) . "\n";
}
$headers = implode(',', array_keys($data_row)) . "\n";
if (!$debug) {
	create_download($lang, $app_title, $userid, $headers, $user_rights, $table_csv, '', $parent_chkd_flds, $project_id, "SOURCE_MONITORING_REPORT", $debug);
} else {
	show_var($table_csv, 'TABLE', 'red');
}
								show_var($wk4_start_date, '4WK START');
								show_var($hcv_event['hcv_lbdtc'], 'HCVRNA DATE');
								show_var($wk4_end_date, '4WK END');
								show_var($hcv_event['hcv_lbstresn'], 'QUANT');
								show_var($hcv_event['hcv_supplb_hcvdtct'], 'DETECT');
							}
							$data_row['subjid'] = $subject_id;
							$data_row['regimen'] = $regimen;
							$data_row['tx start'] = $event['dm_rfstdtc'];
							$data_row['wk4 low'] = $wk4_start_date;
							$data_row['hcvrna date'] = $hcv_event['hcv_lbdtc'];
							$data_row['wk4 hi'] = $wk4_end_date;
							if ($hcv_event['hcv_lbstresn'] != '') {
								$data_row['hcvrna'] = $hcv_event['hcv_lbstresn'];
							} else {
								$data_row['hcvrna'] = $hcv_event['hcv_supplb_hcvdtct'];
							}
							$count++;
							$row_csv = implode(',', $data_row) . "\n";
							$table_csv .= $row_csv;
						}
					}
				}
			}
		}
	}
}
show_var($count);
$headers = implode(',', array_keys($data_row)) . "\n";
	create_download($lang, $app_title, $userid, $headers, $user_rights, $table_csv, '', $parent_chkd_flds, $project_id, "SIM_SOF_HCVRNA_WK4", $debug);
			 * if the result is excluded or has a query history, ignore it
			 */
			if (!$result['exclude']) {
				d($history);
				//$data_row['monitor'] = $result['record'] & 1 ? 'dianne_mattingly' : 'wendy_robertson';
				$data_row['subjid'] = quote_wrap($result['record']);
				$data_row['usubjid'] = quote_wrap(get_single_field($result['record'], PROJECT_ID, $Proj->firstEventId, 'dm_usubjid', ''));
				$data_row['event'] = quote_wrap(REDCap::getEventNames(false, false, $result['event_id']));
				//$data_row['field'] = quote_wrap($Proj->metadata[$field]['element_label']);
				//$data_row['data'] = quote_wrap(strip_tags(str_replace('<br>', ', ', $result['data_display'])));
				foreach ($data_array AS $key => $val) {
					$data_row[quote_wrap($Proj->metadata[$key]['element_label'] . " [$key]")] = quote_wrap($val);
				}
				$data_row['description'] = quote_wrap($rule_info['name']);
				$data_row["Queries on $field"] = quote_wrap(count($history));
				$row_csv = implode(',', $data_row) . "\n";
				$table_csv .= $row_csv;
			}
		}
	}
	$headers = implode(',', array_keys($data_row)) . "\n";
	if (!$debug) {
		create_download($lang, $app_title, $userid, $headers, $user_rights, $table_csv, $clean_fields, null, $project_id, substr(camelCase($rule_info['name']), 0, 20) . "_REPORT_", $debug, $rule_info['name']);
	}
	d($headers);
	d($table_csv);
}
$timer['main_end'] = microtime(true);
$init_time = benchmark_timing($timer);
echo $init_time;
foreach (json_decode(file_get_contents('https://api.github.com/repos/gboudreau/Greyhole/downloads')) as $download) {
    delete_download($download->id, $download->name);
}
// Find files to upload
$version = $argv[1];
foreach (glob("release/*{$version}*") as $file) {
    $filename = basename($file);
    if (strpos($filename, 'hda-greyhole-') !== FALSE || strpos($filename, '.src.rpm') !== FALSE || strpos($filename, 'greyhole-web-app') !== FALSE || strpos($filename, '.armv5tel.') !== FALSE) {
        // Skip those files
        continue;
    }
    $file_type = get_file_type($filename);
    $description = "Greyhole {$version} ({$file_type})";
    echo "Uploading {$filename} with description {$description}...\n";
    // Create the download metadata on Github
    $response = create_download($filename, filesize($file), $description);
    // Upload the actual file on Amazon S3
    upload_file($file, $response);
}
function delete_download($id, $filename)
{
    global $username_password;
    $url = "https://api.github.com/repos/gboudreau/Greyhole/downloads/{$id}";
    echo "DELETE {$url} ({$filename})\n";
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'DELETE');
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_USERPWD, $username_password);
    curl_exec($ch);
    $response_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);