Ejemplo n.º 1
0
 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'];
Ejemplo n.º 2
0
            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'));
Ejemplo n.º 3
0
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;
}
Ejemplo n.º 4
0
            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);