Ejemplo n.º 1
0
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;
}
Ejemplo n.º 2
0
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;
}