function query__get_sort($type, $search_sort, $experiment_id = 0) { //sanitizes sort string //type can be: participants_search_active, participants_search_all, assign, deassign, session_list if ($type == 'participants_search_active') { $cols = participant__get_result_table_columns('result_table_search_active'); } elseif ($type == 'participants_search_all') { $cols = participant__get_result_table_columns('result_table_search_all'); } elseif ($type == 'session_participants_list') { $cols = participant__get_result_table_columns('session_participants_list'); } elseif ($type == 'session_participants_list_pdf') { $cols = participant__get_result_table_columns('session_participants_list_pdf'); } else { $cols = participant__get_result_table_columns('result_table_assign'); } $pform_columns = participant__load_all_pform_fields(); $search_ok = false; foreach ($cols as $k => $arr) { if (isset($pform_columns[$k]['sort_order']) && $pform_columns[$k]['sort_order']) { if ($search_sort == $pform_columns[$k]['sort_order']) { $search_ok = true; } } elseif (isset($cols[$k]['sort_order']) && $search_sort == $cols[$k]['sort_order']) { $search_ok = true; } elseif ($search_sort == $k) { $search_ok = true; } } if (!$search_ok) { $search_sort = query__load_default_sort($type, $experiment_id); } return $search_sort; }
function participant__get_result_table_row_pdf($columns, $p) { global $settings, $color; global $thislist_sessions; $pform_columns = participant__load_all_pform_fields(); $row = array(); foreach ($columns as $k => $arr) { switch ($k) { case 'number_noshowup': $row[] = $p['number_noshowup'] . '/' . $p['number_reg']; break; case 'rules_signed': if ($settings['enable_rules_signed_tracking'] == 'y') { $row[] = $p['rules_signed'] != 'y' ? "X" : ''; } break; case 'subscriptions': $exptypes = load_external_experiment_types(); $inv_arr = db_string_to_id_array($p[$k]); $inv_names = array(); foreach ($inv_arr as $inv) { if (isset($exptypes[$inv]['exptype_name'])) { $inv_names[] = $exptypes[$inv]['exptype_name']; } else { $inv_names[] = 'undefined'; } } $row[] = implode(", ", $inv_names); break; case 'subpool_id': $subpools = subpools__get_subpools(); $subpool_name = isset($subpools[$p[$k]]['subpool_name']) ? $subpools[$p[$k]]['subpool_name'] : $p[$k]; $row[] = $subpool_name; break; case 'status_id': $participant_statuses = participant_status__get_statuses(); $pstatus_name = isset($participant_statuses[$p[$k]]['name']) ? $participant_statuses[$p[$k]]['name'] : $p[$k]; $row[] = $pstatus_name; break; case 'creation_time': case 'deletion_time': case 'last_enrolment': case 'last_profile_update': case 'last_activity': case 'last_login_attempt': if ($p[$k]) { $row[] = ortime__format($p[$k], 'hide_second:false'); } else { $row[] = '-'; } break; case 'session_id': $row[] = session__build_name($thislist_sessions[$p['session_id']]); break; case 'payment_budget': if ($settings['enable_payment_module'] == 'y' && check_allow('payments_view')) { $payment_budgets = payments__load_budgets(); if (isset($payment_budgets[$p['payment_budget']])) { $row[] = $payment_budgets[$p['payment_budget']]['budget_name']; } else { $row[] = '-'; } } break; case 'payment_type': if ($settings['enable_payment_module'] == 'y' && check_allow('payments_view')) { $payment_types = payments__load_paytypes(); if (isset($payment_types[$p['payment_type']])) { $row[] = $payment_types[$p['payment_type']]; } else { $row[] = '-'; } } break; case 'payment_amount': if ($settings['enable_payment_module'] == 'y' && check_allow('payments_view')) { if ($p['payment_amt'] != '') { $row[] = $p['payment_amt']; } else { $row[] = '-'; } } break; case 'pstatus_id': $pstatuses = expregister__get_participation_statuses(); $row[] = $pstatuses[$p['pstatus_id']]['internal_name']; break; default: if (isset($pform_columns[$k])) { if (preg_match("/(radioline|select_list|select_lang|radioline_lang)/", $pform_columns[$k]['type'])) { if (isset($pform_columns[$k]['lang'][$p[$k]])) { $row[] = lang($pform_columns[$k]['lang'][$p[$k]]); } else { $row[] = $p[$k]; } } else { $row[] = $p[$k]; } } else { if (isset($p[$k])) { $row[] = $p[$k]; } else { $row[] = '???'; } } } } foreach ($row as $k => $v) { $row[$k] = str_replace(" ", " ", $v); } return $row; }