コード例 #1
0
ファイル: query_modules.php プロジェクト: kfarr2/psu-orsee
function query__get_pseudo_query_array($posted_array)
{
    global $lang;
    $formfields = participantform__load();
    $pseudo_query_array = array();
    $clevel = 1;
    foreach ($posted_array as $num => $entry) {
        $temp_keys = array_keys($entry);
        $module_string = $temp_keys[0];
        $module_string_array = explode("_", $module_string);
        $module = $module_string_array[0];
        $type = $module_string_array[1];
        if ($module == 'pform') {
            unset($module_string_array[0]);
            unset($module_string_array[1]);
            $pform_formfield = implode("_", $module_string_array);
        } else {
            $pform_formfield = "";
        }
        $params = $entry[$module_string];
        $level = $clevel;
        $op_text = "";
        $text = '';
        $add = true;
        if (isset($params['logical_op']) && $params['logical_op']) {
            $op_text = lang($params['logical_op']);
        }
        switch ($module) {
            case "bracket":
                if ($type == 'open') {
                    $level = $clevel;
                    $clevel++;
                    $text = '(';
                } else {
                    $clevel--;
                    $level = $clevel;
                    $text = ')';
                }
                break;
            case "experimentclasses":
                $text = query__pseudo_query_not_without($params);
                $text .= ' ' . lang('participants_participated_expclass');
                $text .= ': ' . experiment__experiment_class_field_to_list($params['ms_classes']);
                break;
            case "experimenters":
                $text = query__pseudo_query_not_without($params);
                $text .= ' ' . lang('participants_participated_experimenters');
                $text .= ': ' . experiment__list_experimenters($params['ms_experimenters'], false, true);
                break;
            case "experimentsassigned":
                $text = query__pseudo_query_not_without($params);
                $text .= ' ' . lang('participants_were_assigned_to');
                $text .= ': ' . experiment__exp_id_list_to_exp_names($params['ms_experiments']);
                break;
            case "experimentsparticipated":
                $text = query__pseudo_query_not_without($params);
                $text .= ' ' . lang('participants_have_participated_on');
                $text .= ': ' . experiment__exp_id_list_to_exp_names($params['ms_experiments']);
                break;
            case "statusids":
                $text = query__pseudo_query_not_without($params);
                $text .= ' ' . lang('participants_of_status');
                $text .= ': ' . participant__status_id_list_to_status_names($params['ms_status']);
                break;
            case "pformtextfields":
                $text = lang('where');
                $text .= ' "' . $params['search_string'] . '" ';
                $text .= query__pseudo_query_not_not($params);
                $text .= lang('in') . ' ';
                if ($params['search_field'] == 'all') {
                    $text .= lang('any_field');
                } else {
                    $text .= $params['search_field'];
                }
                break;
            case "pform":
                $f = array();
                foreach ($formfields as $p) {
                    if ($p['mysql_column_name'] == $pform_formfield) {
                        $f = $p;
                    }
                }
                if (isset($f['mysql_column_name'])) {
                    $text = lang('where') . ' ' . lang($f['name_lang']) . ' ';
                    if ($type == 'numberselect') {
                        $text .= $params['sign'] . $params['fieldvalue'];
                    } elseif ($type == 'simpleselect') {
                        $text .= query__pseudo_query_not_not($params) . '= "' . $params['fieldvalue'] . '"';
                    } else {
                        $text .= query__pseudo_query_not_not($params) . lang('in') . ': ' . participant__select_lang_idlist_to_names($f['mysql_column_name'], $params['ms_' . $pform_formfield]);
                    }
                } else {
                    $add = false;
                }
                break;
            case "noshows":
                $text = lang('where_nr_noshowups_is') . ' ';
                $text .= $params['sign'] . ' ' . $params['count'];
                break;
            case "participations":
                $text = lang('where_nr_participations_is') . ' ';
                $text .= $params['sign'] . ' ' . $params['count'];
                break;
            case "updaterequest":
                $text = lang('where_profile_update_request_is') . ' ';
                if ($params['update_request_status'] == 'y') {
                    $text .= lang('active');
                } else {
                    $text .= lang('inactive');
                }
                break;
            case "activity":
                $text = lang('where') . ' ' . lang($params['activity_type']) . ' ';
                $text .= query__pseudo_query_not_not($params);
                $text .= lang('before_date') . ' ';
                $sesstime_act = ortime__array_to_sesstime($params, 'dt_activity_');
                $text .= ortime__format(ortime__sesstime_to_unixtime($sesstime_act), 'hide_time:true');
                break;
            case "randsubset":
                $text = lang('limit_to_randomly_drawn') . ' ';
                $text .= $params['limit'];
                break;
            case "subsubjectpool":
                $text = query__pseudo_query_not_without($params);
                $text .= ' ' . lang('who_are_in_subjectpool');
                $text .= ': ' . subpools__idlist_to_namelist($params['ms_subpool']);
                break;
        }
        if ($add) {
            $pseudo_query_array[] = array('level' => $level, 'op_text' => $op_text, 'text' => $text);
        }
    }
    return $pseudo_query_array;
}
コード例 #2
0
    echo '<TABLE class="or_orr_section_content">
					<TR>
						<TD>' . lang('id') . ':</TD><TD>' . $experiment['experiment_id'] . '</TD>
						<TD>' . lang('type') . ':</TD>';
    if (!isset($exptypes[$experiment['experiment_ext_type']]['exptype_name'])) {
        $exptypes[$experiment['experiment_ext_type']]['exptype_name'] = 'type undefined';
    }
    echo '<TD>' . $lang[$experiment['experiment_type']] . ' (' . $exptypes[$experiment['experiment_ext_type']]['exptype_name'] . ')</TD>
					</TR>
					<TR>
						<TD>' . lang('name') . ':</TD><TD>' . $experiment['experiment_name'] . '</TD>
						<TD>' . lang('public_name') . ':</TD><TD>' . $experiment['experiment_public_name'] . '</TD>
					</TR>';
    echo '			<TR>
						<TD>' . lang('class') . ':</TD>
						<TD>' . experiment__experiment_class_field_to_list($experiment['experiment_class']) . '</TD>
						<TD>' . lang('experimenter') . ':</TD><TD>' . experiment__list_experimenters($experiment['experimenter'], true, true) . '</TD>
					</TR>';
    // CONDITIONAL EXPERIMENT FIELDS
    $conditional_fields = array();
    if ($experiment['experiment_description']) {
        $conditional_fields[] = '<TD>' . lang('internal_description') . ':</TD><TD>' . $experiment['experiment_description'] . '</TD>';
    }
    if ($experiment['public_experiment_note']) {
        $conditional_fields[] = '<TD>' . lang('public_experiment_note') . ':</TD><TD>' . $experiment['public_experiment_note'] . '</TD>';
    }
    if ($settings['enable_editing_of_experiment_sender_email'] == 'y') {
        $conditional_fields[] = '<TD>' . lang('email_sender_address') . ':</TD><TD>' . $experiment['sender_mail'] . '</TD>';
    }
    $i = 0;
    foreach ($conditional_fields as $condfield) {
コード例 #3
0
ファイル: experiments.php プロジェクト: kfarr2/psu-orsee
function experiment__old_experiments_format_alist($alist)
{
    global $lang, $color;
    static $shade = true;
    extract($alist);
    $exptypes = load_external_experiment_types();
    if ($shade) {
        $shade = false;
    } else {
        $shade = true;
    }
    if (!isset($num_assigned)) {
        $num_assigned = 0;
    }
    if (!isset($num_registered)) {
        $num_registered = 0;
    }
    if (!isset($num_participated)) {
        $num_participated = 0;
    }
    if ($no_sessions == 1) {
        $num_sessions = 0;
    }
    echo '<tr bgcolor="';
    if ($shade) {
        echo $color['list_shade1'];
    } else {
        echo $color['list_shade2'];
    }
    echo '"><td class="small">';
    if (check_allow('experiment_show')) {
        echo '<A HREF="experiment_show.php?experiment_id=' . $experiment_id . '">';
    }
    echo '<span class="small" style="color: black; font-weight: bold; text-decoration: underline;" title="experiment name; click to edit experiment">' . $experiment_name . ' (' . $experiment_public_name . ')</span>';
    if (check_allow('experiment_show')) {
        echo '</A>';
    }
    echo '</td>
        	<td class="small">';
    if ($num_sessions > 0) {
        echo '<span title="first and last session"><i class="fa fa-calendar" style="font-size: 9pt; padding-right: 3px;"></i>' . ortime__format(ortime__sesstime_to_unixtime($first_session_date), 'hide_time');
        echo '&nbsp;' . lang('to') . '&nbsp;' . ortime__format(ortime__sesstime_to_unixtime($last_session_date), 'hide_time') . '</span>';
    }
    echo '&nbsp;<span title="experiment type">' . $lang[$experiment_type] . ' (' . $exptypes[$experiment_ext_type]['exptype_name'] . ')</span></TD>
        	<TD class="small">';
    if ($experiment_type == "laboratory") {
        if (!isset($comp_num_registered)) {
            $comp_num_registered = 0;
        }
        if (!isset($comp_num_noshow)) {
            $comp_num_noshow = 0;
        }
        if ($comp_num_registered == 0) {
            $noshowrate = "??";
        } else {
            $noshowrate = round($comp_num_noshow / $comp_num_registered * 100, 1) . '%';
        }
        echo lang('sessions') . ': <span style="font-weight: bold;" title="number of sessions">' . $num_sessions . '</span>';
        echo '&nbsp&nbsp&nbsp<span title="number of subjects assigned / enroled / participated"><i class="fa fa-users" style="font-size: 7pt; padding-right: 2px;"></i>' . $num_assigned . '/' . $num_registered . '/' . $num_participated . '</span>';
        echo '&nbsp&nbsp;<span title="noshow rate">' . str_replace("-", "&#8209;", lang('noshowup')) . ':&nbsp;' . $noshowrate . '</span>';
    }
    echo '</TD>
        	</TR>
        	<TR bgcolor="';
    if ($shade) {
        echo $color['list_shade1'];
    } else {
        echo $color['list_shade2'];
    }
    echo '">
		<TD class="small" valign="top">
			<A HREF="mailto:' . experiment__list_experimenters($experimenter_mail, false, false, true) . '" class="explist_link small" title="email to experimenters">' . experiment__list_experimenters($experimenter, false, true) . '</A></TD>
		<TD class="small" valign="top">
				<span style="color: #888888;" title="experiment classifications">';
    echo experiment__experiment_class_field_to_list($experiment_class);
    echo '</span>
		</TD>
		<TD class="small" valign="top">';
    if (count($sessions) > 0) {
        echo '
				<TABLE border=0 cellpadding=0 cellspacing=0>
				<TR><TD colspan=3 class="small"><span style="color: red;"><i class="fa fa-exclamation-triangle" style="font-size: 8pt;"></i>Incomplete sessions!</span></TD></TR>';
        $ssicons = array("planned" => "wrench", "live" => "spinner fa-spin fa-fw", "completed" => "thumbs-o-up", "balanced" => "money");
        foreach ($sessions as $s) {
            if (isset($s['num_registered'])) {
                $reg = $s['num_registered'];
            } else {
                $reg = 0;
            }
            if ($reg < $s['part_needed']) {
                $regfontcolor = $color['session_not_enough_participants'];
            } elseif ($reg < $s['part_needed'] + $s['part_reserve']) {
                $regfontcolor = $color['session_not_enough_reserve'];
            } else {
                $regfontcolor = $color['session_complete'];
            }
            echo '<TR><TD>';
            echo '<A HREF="session_edit.php?session_id=' . $s['session_id'] . '" class="explist_link small" title="' . $s['session_status'] . ' session; click to edit session">';
            echo '<span class="session_status_' . $s['session_status'] . '">';
            echo '<i class="fa fa-' . $ssicons[$s['session_status']] . '" style="font-size: 8pt;"></i>';
            echo ortime__format(ortime__sesstime_to_unixtime($s['session_start']));
            echo '</span>';
            echo '</A>';
            echo '</TD><TD>&nbsp;&nbsp;</TD><TD align=right>';
            echo '<A HREF="experiment_participants_show.php?experiment_id=' . $experiment_id . '&session_id=' . $s['session_id'] . '" class="explist_link small" title="signed-up (needed, reserve); click to see participants list" style="color: ' . $regfontcolor . ';">';
            echo $reg . '&nbsp;(' . $s['part_needed'] . ',' . $s['part_reserve'] . ')';
            echo '</A>';
            echo '</TD></TR>';
        }
        echo '</TABLE>';
    }
    echo '</TD>
		</TR>';
}