= '%s' ",$start_time_crit); } else { $sql_time_crit = ""; } if($report_type == "completed") { $sql_completion = " and end_datetime is not null"; } elseif($report_type == "not_completed") { $sql_completion = " and end_datetime is null"; } elseif($report_type == "all") { $sql_completion = ""; } if($sort_order == "ascending") $sort_order_str = "asc"; elseif($sort_order == "descending") $sort_order_str = "desc"; switch($sort_by) { case "start_time": $sort_by_str = "order by date_time " . $sort_order_str; break; case "completion_stat": $sort_by_str = "order by is_completed " . $sort_order_str; break; case "end_time": $sort_by_str = "order by end_datetime " . $sort_order_str; break; case "last_name_first_name": $sort_by_str = "order by name_last_lower " . $sort_order_str . ",name_first_lower " . $sort_order_str; break; case "subject_id": $sort_by_str = "order by subject_id " . $sort_order_str; } $enc_key = subinfo_encryption_key(); $sql_get_sessions = sprintf("select subject.subject_id as `subject_id`, aes_decrypt(`name_last`,'%s') as name_last,",$enc_key). sprintf(" lower(convert(aes_decrypt(`name_last`,'%s') using utf8)) as name_last_lower, ",$enc_key). sprintf(" lower(convert(aes_decrypt(`name_first`,'%s') using utf8)) as name_first_lower, ",$enc_key). sprintf(" aes_decrypt(`name_middle`,'%s') as name_middle, aes_decrypt(`name_first`,'%s') as name_first,",$enc_key,$enc_key). sprintf(" session.session_id, date_time, end_datetime, (end_datetime is not null) as `is_completed` from subject left join session using (subject_id) "). sprintf("where subject_id not like 'tmp_%%' and session.experiment_id = %d %s %s %s", $_SESSION['editor_experiment_id'],$sql_completion,$sql_time_crit,$sort_by_str); $get_sessions = mysql_query($sql_get_sessions) or report_error_form(mysql_error()); if(!isset($_POST['export_to_file'])) { ?> Session Report "); printf("

Session report for experiment \"%s\"

",$_SESSION['editor_experiment_title']); printf(""); printf("
",$_SERVER['PHP_SELF']); printf("\n",$report_type); printf("\n",$time_window); printf("\n",$sort_by); printf("\n",$sort_order); printf("
"); printf(""); printf("

Report generated on %s

",date("D, M j, g:i:s a")); printf("
\n",$_SERVER['PHP_SELF']); printf("Report "); printf("\n"); printf(" sessions initiated within the last "); printf("",$time_window); printf(" days (0 = no time limit)\n"); printf("
Sort by \n"); printf("\n"); printf(" in "); printf("\n"); printf(" order
"); printf("\n"); printf("
\n"); print("

 

\n"); printf("\n"); } else { $exp_stub = strtolower(str_replace(" ","_",$_SESSION['editor_experiment_title'])); $date_stub = date("Ymd_His"); $export_fname = sprintf("session_report_%s_%s.csv",$exp_stub,$date_stub); text_download_header($export_fname); printf("Subject ID,Last Name,First Name,Middle Name,Session ID,Start Time,End Time,Status\n"); } while($row_get_sessions = mysql_fetch_assoc($get_sessions)) { $compl_status = (($row_get_sessions['is_completed'])? "completed" : "not completed"); if(!isset($_POST['export_to_file'])) { printf(""); printf("", $row_get_sessions['subject_id'],$row_get_sessions['name_last'], $row_get_sessions['name_first'],$row_get_sessions['name_middle'], $row_get_sessions['session_id'],$row_get_sessions['date_time'], $row_get_sessions['end_datetime'],$compl_status); print ""; } else { printf("%s, %s, %s, %s, %d, %s, %s, %s\n", $row_get_sessions['subject_id'],$row_get_sessions['name_last'], $row_get_sessions['name_first'],$row_get_sessions['name_middle'], $row_get_sessions['session_id'],$row_get_sessions['date_time'], $row_get_sessions['end_datetime'],$compl_status); } } if(!isset($_POST['export_to_file'])) { printf("
Subject IDLast NameFirst NameMiddle NameSession IDStart TimeEnd TimeStatus
%s%s%s%s%d%s%s%s

"); } ?>