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; }
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) {
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 ' ' . lang('to') . ' ' . ortime__format(ortime__sesstime_to_unixtime($last_session_date), 'hide_time') . '</span>'; } echo ' <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 '   <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 '  <span title="noshow rate">' . str_replace("-", "‑", lang('noshowup')) . ': ' . $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> </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 . ' (' . $s['part_needed'] . ',' . $s['part_reserve'] . ')'; echo '</A>'; echo '</TD></TR>'; } echo '</TABLE>'; } echo '</TD> </TR>'; }