if (isset($_REQUEST['copy']) && $_REQUEST['copy']) { $session_id = ""; } if (!$session_id) { $addit = true; $button_name = lang('add'); if (isset($_REQUEST['copy']) && $_REQUEST['copy']) { if ($settings['enable_payment_module'] == 'y') { if (isset($_REQUEST['payment_types'])) { $_REQUEST['payment_types'] = id_array_to_db_string(multipicker_json_to_array($_REQUEST['payment_types'])); } if (isset($_REQUEST['payment_budgets'])) { $_REQUEST['payment_budgets'] = id_array_to_db_string(multipicker_json_to_array($_REQUEST['payment_budgets'])); } } $_REQUEST['session_start'] = ortime__array_to_sesstime($_REQUEST, 'session_start_'); $edit = $_REQUEST; $edit['session_id'] = time(); $edit['session_status'] = 'planned'; $session_time = 0; } else { $edit['experiment_id'] = $_REQUEST['experiment_id']; $edit['session_id'] = time(); $edit['laboratory_id'] = ""; $edit['session_remarks'] = ""; $edit['public_session_note'] = ""; $edit['session_start'] = ortime__unixtime_to_sesstime(); $edit['session_duration_hour'] = $settings['session_duration_hour_default']; $edit['session_duration_minute'] = $settings['session_duration_minute_default']; $edit['session_reminder_hours'] = $settings['session_reminder_hours_default']; $edit['send_reminder_on'] = $settings['session_reminder_send_on_default'];
if (!check_allow('experiment_restriction_override')) { check_experiment_allowed($edit, "admin/experiment_show.php?experiment_id=" . $edit['experiment_id']); } } } else { $allow = check_allow('experiment_edit', 'experiment_main.php'); } } if ($proceed) { $continue = true; if (isset($_REQUEST['edit']) && $_REQUEST['edit']) { $_REQUEST['experiment_class'] = id_array_to_db_string(multipicker_json_to_array($_REQUEST['experiment_class'])); $_REQUEST['experimenter'] = id_array_to_db_string(multipicker_json_to_array($_REQUEST['experimenter'])); $_REQUEST['experimenter_mail'] = id_array_to_db_string(multipicker_json_to_array($_REQUEST['experimenter_mail'])); if ($settings['enable_ethics_approval_module'] == 'y' && check_allow('experiment_edit_ethics_approval_details')) { $_REQUEST['ethics_expire_date'] = ortime__array_to_sesstime($_REQUEST, 'ethics_expire_date_'); } if ($settings['enable_payment_module'] == 'y') { if (isset($_REQUEST['payment_types'])) { $_REQUEST['payment_types'] = id_array_to_db_string(multipicker_json_to_array($_REQUEST['payment_types'])); } if (isset($_REQUEST['payment_budgets'])) { $_REQUEST['payment_budgets'] = id_array_to_db_string(multipicker_json_to_array($_REQUEST['payment_budgets'])); } } if (!$_REQUEST['experiment_public_name']) { message(lang('error_you_have_to_give_public_name')); $continue = false; } if (!$_REQUEST['experiment_name']) { message(lang('error_you_have_to_give_internal_name'));
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; }
redirect('admin/calendar_main.php'); } } } if ($proceed) { // form if (isset($_REQUEST['copy']) && $_REQUEST['copy']) { $event_id = ""; } if (!$event_id) { $addit = true; $button_name = lang('add'); if (isset($_REQUEST['copy']) && $_REQUEST['copy']) { $_REQUEST['experimenter'] = id_array_to_db_string(multipicker_json_to_array($_REQUEST['experimenter'])); $_REQUEST['event_start'] = ortime__array_to_sesstime($_REQUEST, 'event_start_'); $_REQUEST['event_stop'] = ortime__array_to_sesstime($_REQUEST, 'event_stop_'); $edit = $_REQUEST; $edit['event_id'] = time(); } else { $edit['event_id'] = time(); $edit['event_start'] = ortime__unixtime_to_sesstime(); $edit['event_stop'] = ortime__unixtime_to_sesstime(time() + 60 * 60); $edit['experimenter'] = '|' . $expadmindata['admin_id'] . '|'; $edit['laboratory_id'] = ""; $edit['event_category'] = ""; $edit['reason'] = ""; $edit['reason_public'] = ""; $edit['number_of_participants'] = ""; } } else { session__check_lab_time_clash($edit);