コード例 #1
0
ファイル: helpers.php プロジェクト: bgreiner/orsee
function ortime__format($unixtime, $options = '', $language = '')
{
    // possible options: hide_time hide_second hide_date hide_year
    global $lang;
    $op = array('hide_second' => true);
    $opa = explode(",", $options);
    foreach ($opa as $o) {
        $to = explode(":", trim($o));
        if (isset($to[1]) && trim($to[1]) == "false") {
            unset($op[$to[0]]);
        } else {
            $op[$to[0]] = true;
        }
    }
    $arr = ortime__sesstime_to_array(ortime__unixtime_to_sesstime($unixtime));
    $p = ortime__array_mil_time_to_array_ampm_time($arr);
    $arr['h12'] = $p['h'];
    $arr['a'] = $p['a'];
    if (!$language) {
        if (isset($lang['lang']) && $lang['lang']) {
            $language = $lang['lang'];
        } else {
            global $expadmindata, $settings;
            if (isset($expadmindata['language']) && $expadmindata['language']) {
                $language = $expadmindata['language'];
            } else {
                $language = $settings['public_standard_language'];
            }
        }
    }
    if (isset($op['hide_year'])) {
        $fd = 'date_no_year';
    } else {
        $fd = 'date';
    }
    if (isset($op['hide_second'])) {
        $ft = 'time_no_sec';
    } else {
        $ft = 'time';
    }
    if (isset($lang['lang']) && $language == $lang['lang']) {
        $dformat = $lang['format_datetime_' . $fd];
        $tformat = $lang['format_datetime_' . $ft];
    } else {
        $dformat = load_language_symbol('format_datetime_' . $fd, $language);
        $tformat = load_language_symbol('format_datetime_' . $ft, $language);
    }
    $f = "";
    if (!isset($op['hide_date'])) {
        $f .= $dformat;
    }
    if (!isset($op['hide_date']) && !isset($op['hide_time'])) {
        $f .= " ";
    }
    if (!isset($op['hide_time'])) {
        $f .= $tformat;
    }
    $arr['w'] = ortime__get_weekday($unixtime, $language);
    $datestring = str_replace(array('%Y', '%m', '%d', '%H', '%h', '%i', '%s', '%a', '%w'), array($arr['y'], $arr['m'], $arr['d'], $arr['h'], $arr['h12'], $arr['i'], $arr['s'], $arr['a'], $arr['w']), $f);
    $datestring = str_replace(" ", " ", $datestring);
    return $datestring;
}
コード例 #2
0
ファイル: stats.php プロジェクト: danorama/orsee
function stats__get_data($condition = array(), $type = 'stats', $restrict = array(), $options = array())
{
    global $settings;
    $conditions = array();
    $pars = array();
    if (is_array($condition) && count($condition) > 0) {
        $conditions[] = $condition['clause'];
        if (isset($condition['pars']) && is_array($condition['pars'])) {
            foreach ($condition['pars'] as $k => $v) {
                $pars[$k] = $v;
            }
        }
    }
    $formfields = participantform__load();
    $pform_fields = array();
    $pform_types = array();
    foreach ($formfields as $f) {
        if (!preg_match("/(textline|textarea)/i", $f['type']) && isset($f['include_in_statistics']) && ($f['include_in_statistics'] == 'pie' || $f['include_in_statistics'] == 'bars')) {
            $pform_fields[] = $f['mysql_column_name'];
            $pform_types[$f['mysql_column_name']] = $f;
        }
    }
    $statfields = array('subpool_id', 'subscriptions', 'status_id');
    foreach ($pform_fields as $field) {
        if (!in_array($field, $statfields)) {
            $statfields[] = $field;
        }
    }
    if ($type == 'stats' && $settings['enable_rules_signed_tracking'] == 'y') {
        if (!in_array('rules_signed', $statfields)) {
            $statfields[] = 'rules_signed';
        }
    } else {
        $exists = array_search('rules_signed', $statfields);
        if ($exists) {
            unset($statfields[$exists]);
        }
    }
    if ($type == 'stats') {
        foreach (array('number_reg', 'number_noshowup', 'last_enrolment', 'last_profile_update', 'last_activity') as $field) {
            if (!in_array($field, $statfields)) {
                $statfields[] = $field;
            }
        }
    }
    $query = "SELECT * from " . table('participants');
    $query_conditions = "";
    if (count($conditions) > 0) {
        $query_conditions .= " WHERE";
        $cond_strings = array();
        foreach ($conditions as $cond) {
            $cond_strings[] = "(" . $cond . ")";
        }
        $query_conditions .= " " . implode(" AND ", $cond_strings);
    }
    $query .= $query_conditions;
    $result = or_query($query, $pars);
    $counts = array();
    $pids = array();
    while ($line = pdo_fetch_assoc($result)) {
        // check whether we should count this participant and (for monthly stats) use this value
        $p_restrict = false;
        foreach ($statfields as $c) {
            $value = $line[$c];
            if (in_array($c, array('last_enrolment', 'last_profile_update', 'last_activity'))) {
                if (!$value) {
                    $value = 0;
                }
                if ($value == 0) {
                    $value = '-';
                } else {
                    $value = date('Ym', $value);
                }
            }
            $value = db_string_to_id_array($value);
            if (count($value) > 0) {
                $this_restrict = true;
                foreach ($value as $v) {
                    if (!isset($restrict[$c][$v])) {
                        $this_restrict = false;
                    }
                }
                if ($this_restrict) {
                    $p_restrict = true;
                }
            } else {
                $value = '-';
                if (isset($restrict[$c][$value])) {
                    $p_restrict = true;
                }
            }
        }
        if (!$p_restrict) {
            $pids[] = $line['participant_id'];
            foreach ($statfields as $c) {
                $value = $line[$c];
                $continue = true;
                if (in_array($c, array('last_enrolment', 'last_profile_update', 'last_activity'))) {
                    if (!$value) {
                        $value = 0;
                    }
                    if (date('Ym', $value) < date('Ym', strtotime("-" . $settings['stats_months_backward'] . " month", time()))) {
                        $continue = false;
                    }
                    if ($value == 0) {
                        $value = '-';
                    } else {
                        $value = date('Ym', $value);
                    }
                }
                if ($continue) {
                    $value = db_string_to_id_array($value);
                    if (count($value) > 0) {
                        foreach ($value as $v) {
                            if (!isset($counts[$c][$v])) {
                                $counts[$c][$v] = 0;
                            }
                            $counts[$c][$v]++;
                        }
                    } else {
                        $value = '-';
                        if (!isset($counts[$c][$value])) {
                            $counts[$c][$value] = 0;
                        }
                        $counts[$c][$value]++;
                    }
                }
            }
        }
    }
    $count_pids = count($pids);
    $pid_condition = "";
    if (count($restrict) > 0) {
        $pid_condition = " AND participant_id IN (" . implode(", ", $pids) . ") ";
    } elseif (count($conditions) == 1 && isset($options['condition_only_on_pid']) && $options['condition_only_on_pid']) {
        $pid_condition = " AND " . $condition['clause'] . " ";
    } elseif ($query_conditions) {
        $pid_condition = " AND participant_id IN (SELECT participant_id FROM " . table('participants') . " " . $query_conditions . ") ";
    }
    // avg. experience (participation in experiments of class x, y, z  at time of experiment)
    $statfields[] = 'experience_avg_experimentclass';
    if ($count_pids > 0) {
        $participated_clause = expregister__get_pstatus_query_snippet("participated");
        $query = "SELECT count(*) as num, experiment_class\n                FROM " . table('participate_at') . " as p, " . table('experiments') . " as e\n                WHERE p.session_id>0 " . $pid_condition . "\n                AND e.experiment_id=p.experiment_id\n                AND e.experiment_class !=''\n                AND " . $participated_clause . " ";
        if (is_array($options) && isset($options['upper_experience_limit'])) {
            $query .= " AND session_id IN (SELECT session_id FROM " . table('sessions') . "\n                        WHERE session_start < " . ortime__unixtime_to_sesstime($options['upper_experience_limit']) . "\n                        AND session_status IN ('completed','balanced') ) ";
        }
        $query .= "GROUP BY experiment_class";
        $result = or_query($query, $pars);
        while ($line = pdo_fetch_assoc($result)) {
            $line['experiment_class'] = db_string_to_id_array($line['experiment_class']);
            foreach ($line['experiment_class'] as $v) {
                if ($v > 0) {
                    if (!isset($counts['experience_avg_experimentclass'][$v])) {
                        $counts['experience_avg_experimentclass'][$v] = 0;
                    }
                    $counts['experience_avg_experimentclass'][$v] += round($line['num'] / $count_pids, 2);
                }
            }
        }
    }
    if ($type == 'report') {
        // avg. count pstatus at time of experiment)
        $statfields[] = 'experience_avg_pstatus';
    }
    if ($count_pids > 0 && $type == 'report') {
        $query = "SELECT count(*) as num, pstatus_id\n                FROM " . table('participate_at') . "\n                WHERE session_id>0 " . $pid_condition;
        if (is_array($options) && isset($options['upper_experience_limit'])) {
            $query .= " AND session_id IN (SELECT session_id FROM " . table('sessions') . "\n                    WHERE session_start < " . ortime__unixtime_to_sesstime($options['upper_experience_limit']) . "\n                    AND session_status IN ('completed','balanced') ) ";
        }
        $query .= "GROUP BY pstatus_id";
        $result = or_query($query, $pars);
        while ($line = pdo_fetch_assoc($result)) {
            $counts['experience_avg_pstatus'][$line['pstatus_id']] = round($line['num'] / $count_pids, 2);
        }
    }
    if ($type == 'stats') {
        // by pstatus: pstatus count // really needed? we have no_noshows, num_reg ...
        // by month: pstatus
        $statfields[] = 'bymonth_pstatus';
        $statfields[] = 'bymonth_noshowrate';
    }
    if ($count_pids > 0 && $type == 'stats') {
        $first_month = date('Ym000000', strtotime("-" . $settings['stats_months_backward'] . " month", time()));
        $noshow_statuses = expregister__get_specific_pstatuses("noshow");
        $query = "SELECT date_format(s.session_start*100,'%Y%m') as sessionmonth,\n                pstatus_id, count(p.participate_id) as num\n                FROM " . table('participate_at') . " as p, " . table('sessions') . " as s\n                WHERE p.session_id>0\n                AND p.session_id=s.session_id\n                AND s.session_status IN ('completed','balanced')\n                AND s.session_start>" . $first_month . " " . $pid_condition . "\n                GROUP BY sessionmonth, pstatus_id\n                ORDER BY sessionmonth, pstatus_id ";
        $result = or_query($query, $pars);
        $noshowperc_data = array();
        while ($line = pdo_fetch_assoc($result)) {
            $counts['bymonth_pstatus_' . $line['pstatus_id']][$line['sessionmonth']] = $line['num'];
            if (!isset($noshowperc_data[$line['sessionmonth']]['n'])) {
                $noshowperc_data[$line['sessionmonth']]['n'] = 0;
            }
            if (!isset($noshowperc_data[$line['sessionmonth']]['y'])) {
                $noshowperc_data[$line['sessionmonth']]['y'] = 0;
            }
            if (in_array($line['pstatus_id'], $noshow_statuses)) {
                $noshowperc_data[$line['sessionmonth']]['n'] += $line['num'];
            } else {
                $noshowperc_data[$line['sessionmonth']]['y'] += $line['num'];
            }
        }
        // get the noshow percentages as well
        foreach ($noshowperc_data as $month => $shownup) {
            $counts['bymonth_noshowrate'][$month] = round($shownup['n'] / ($shownup['n'] + $shownup['y']) * 100, 1);
        }
    }
    $xnames = array('number_reg' => lang('experience'), 'number_noshowup' => lang('noshowup'), 'pstatus' => lang('month'), 'experience_avg_experimentclass' => lang('experiment_classes'), 'experience_avg_pstatus' => lang('participation_status'));
    $titles = array('number_reg' => lang('experience'), 'number_noshowup' => lang('noshows_by_count'), 'last_enrolment' => lang('last_enrolment'), 'last_profile_update' => lang('last_profile_update'), 'last_activity' => lang('last_activity'), 'bymonth_noshowrate' => lang('noshows_by_month'), 'experience_avg_experimentclass' => lang('experience_in_experiment_classes'), 'experience_avg_pstatus' => lang('average_participation_experience'));
    // prepare all-containing arrray to return
    $data_temparray = array();
    foreach ($counts as $c => $nums) {
        $d = array();
        $d['N'] = $count_pids;
        if (isset($pform_types[$c])) {
            $d['browsable'] = true;
            $d['charttype'] = $pform_types[$c]['include_in_statistics'];
            $d['type_of_data'] = 'count';
            $d['yname'] = lang('count');
            $d['xname'] = lang($pform_types[$c]['name_lang']);
            $d['title'] = lang($pform_types[$c]['name_lang']);
            if (preg_match("/(select_lang|radioline_lang)/", $pform_types[$c]['type'])) {
                $d['value_names'] = lang__load_lang_cat($c, lang('lang'));
            } elseif (preg_match("/(radioline|select_list)/", $pform_types[$c]['type'])) {
                $optionvalues = explode(",", $pform_types[$c]['option_values']);
                $optionnames = explode(",", $pform_types[$c]['option_values_lang']);
                $d['value_names'] = array();
                foreach ($optionvalues as $k => $v) {
                    if (isset($optionnames[$k])) {
                        $d['value_names'][$v] = lang($optionnames[$k]);
                    }
                }
            } else {
                $d['value_names'] = array();
            }
            // select numbers?
            if ($pform_types[$c]['type'] == 'select_numbers') {
                krsort($nums);
            } else {
                arsort($nums);
            }
            $d['data'] = $nums;
            $data_temparray[$c] = $d;
        } elseif (in_array($c, array('number_reg', 'number_noshowup'))) {
            $d['browsable'] = true;
            $d['charttype'] = 'bars';
            if ($c == 'number_reg') {
                $d['wide'] = true;
            }
            $d['limit_not_apply'] = true;
            $d['type_of_data'] = 'count';
            $d['yname'] = lang('count');
            $d['xname'] = $xnames[$c];
            $d['title'] = $titles[$c];
            $d['value_names'] = array();
            krsort($nums);
            $d['data'] = $nums;
            $data_temparray[$c] = $d;
        } elseif (in_array($c, array('experience_avg_experimentclass', 'experience_avg_pstatus'))) {
            $d['charttype'] = 'pie';
            $d['type_of_data'] = 'calc';
            $d['yname'] = lang('average_count');
            $d['xname'] = $xnames[$c];
            $d['title'] = $titles[$c];
            $d['value_names'] = array();
            if ($c == 'experience_avg_experimentclass') {
                $d['value_names'] = experiment__load_experimentclassnames();
            } else {
                $pstatuses = expregister__get_participation_statuses();
                foreach ($pstatuses as $k => $s) {
                    $d['value_names'][$k] = $s['internal_name'];
                }
            }
            arsort($nums);
            $d['data'] = $nums;
            $data_temparray[$c] = $d;
        } elseif ($c == 'rules_signed') {
            $d['browsable'] = true;
            $d['charttype'] = 'pie';
            $d['type_of_data'] = 'count';
            $d['yname'] = lang('count');
            $d['xname'] = lang('rules_signed');
            $d['title'] = lang('rules_signed');
            $d['value_names'] = array('n' => lang('n'), 'y' => lang('y'));
            arsort($nums);
            $d['data'] = $nums;
            $data_temparray[$c] = $d;
        } elseif ($c == 'subpool_id') {
            $d['browsable'] = true;
            $d['charttype'] = 'pie';
            $d['type_of_data'] = 'count';
            $d['yname'] = lang('count');
            $d['xname'] = lang('subpool');
            $d['title'] = lang('subpool');
            $subpools = subpools__get_subpools();
            $d['value_names'] = array();
            foreach ($subpools as $k => $p) {
                $d['value_names'][$k] = $p['subpool_name'];
            }
            arsort($nums);
            $d['data'] = $nums;
            $data_temparray[$c] = $d;
        } elseif ($c == 'status_id') {
            $d['browsable'] = true;
            $d['charttype'] = 'pie';
            $d['type_of_data'] = 'count';
            $d['yname'] = lang('count');
            $d['xname'] = lang('participant_status');
            $d['title'] = lang('participant_statuses');
            $statuses = participant_status__get_statuses();
            $d['value_names'] = array();
            foreach ($statuses as $k => $p) {
                $d['value_names'][$k] = $p['name'];
            }
            krsort($nums);
            $d['data'] = $nums;
            $data_temparray[$c] = $d;
        } elseif ($c == 'subscriptions') {
            $d['browsable'] = true;
            $d['charttype'] = 'none';
            $d['type_of_data'] = 'count';
            $d['yname'] = lang('count');
            $d['xname'] = lang('subscriptions');
            $d['title'] = lang('subscriptions');
            $exptypes = load_external_experiment_types("", false);
            $d['value_names'] = array();
            foreach ($exptypes as $k => $p) {
                $d['value_names'][$k] = $p[lang('lang')];
            }
            krsort($nums);
            $d['data'] = $nums;
            $data_temparray[$c] = $d;
        } elseif (in_array($c, array('last_enrolment', 'last_profile_update', 'last_activity', 'bymonth_noshowrate'))) {
            $d['charttype'] = 'bars';
            $d['wide'] = true;
            if ($c == 'bymonth_noshowrate') {
                $d['yname'] = lang('share_in_percent');
                $d['type_of_data'] = 'calc';
            } else {
                $d['yname'] = lang('count');
                $d['type_of_data'] = 'count';
            }
            $d['xname'] = lang('month');
            $d['title'] = $titles[$c];
            foreach ($nums as $k => $number) {
                if ($k == '-') {
                    $d['value_names'][$k] = $k;
                } else {
                    $d['value_names'][$k] = substr($k, 4, 2) . '/' . substr($k, 2, 2);
                }
            }
            krsort($nums);
            $d['data'] = $nums;
            $data_temparray[$c] = $d;
        } elseif (preg_match('/^bymonth_pstatus/', $c)) {
            $tarr = explode("_", $c);
            $status = $tarr[2];
            if (!isset($data_temparray['bymonth_pstatus'])) {
                $pstatuses = expregister__get_participation_statuses();
                $d['charttype'] = 'multibars';
                $d['wide'] = true;
                $d['type_of_data'] = 'count';
                $d['yname'] = lang('count');
                $d['xname'] = lang('month');
                $d['title'] = lang('participation_status_count_by_month');
                $d['value_names'] = array();
                $d['column_names'] = array();
                foreach ($pstatuses as $k => $s) {
                    $d['column_names'][$k] = $s['internal_name'];
                }
                $data_temparray['bymonth_pstatus'] = $d;
            }
            krsort($nums);
            $data_temparray['bymonth_pstatus']['data'][$status] = $nums;
            $d['value_names'] = array();
            foreach ($data_temparray['bymonth_pstatus']['data'] as $status => $months) {
                foreach ($months as $month => $count) {
                    $d['value_names'][$month] = $month;
                }
            }
            krsort($d['value_names']);
            foreach ($d['value_names'] as $k => $v) {
                $d['value_names'][$k] = substr($v, 4, 2) . '/' . substr($v, 2, 2);
            }
            $data_temparray['bymonth_pstatus']['value_names'] = $d['value_names'];
        }
    }
    // prepare all-containing array to return
    $data_array = array();
    foreach ($statfields as $c) {
        if (isset($data_temparray[$c]['data'])) {
            $data_temparray[$c]['name'] = $c;
            $data_array[$c] = $data_temparray[$c];
        } else {
            $data_array[$c] = array('name' => $c, 'N' => 0, 'data' => array());
        }
    }
    return $data_array;
}
コード例 #3
0
ファイル: session_edit.php プロジェクト: danorama/orsee
             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'];
         $edit['registration_end_hours'] = $settings['session_registration_end_hours_default'];
         $session_time = 0;
         $edit['part_needed'] = $settings['lab_participants_default'];
         $edit['part_reserve'] = $settings['reserve_participants_default'];
         $edit['session_status'] = 'planned';
         $edit['payment_types'] = "";
         $edit['payment_budgets'] = "";
     }
 } else {
     $session_time = ortime__sesstime_to_unixtime($edit['session_start']);
     $button_name = lang('change');
コード例 #4
0
ファイル: experimentmail.php プロジェクト: danorama/orsee
function experimentmail__preview_fake_session_details($experiment_id)
{
    $pars = array(':experiment_id' => $experiment_id);
    $query = "SELECT * FROM " . table('sessions') . "\n            WHERE experiment_id = :experiment_id\n            ORDER BY if(session_status='live',0,1), session_start DESC\n            LIMIT 1";
    $session = orsee_query($query, $pars);
    if (!isset($session['session_id'])) {
        $session = array();
        $session['session_start'] = ortime__unixtime_to_sesstime();
        $session['session_duration_hour'] = 1;
        $session['session_duration_minute'] = 30;
        $labs = laboratories__get_laboratories();
        $randlab = array_rand($labs);
        $session['laboratory_id'] = $randlab;
    }
    return $session;
}
コード例 #5
0
ファイル: formhelpers.php プロジェクト: danorama/orsee
function formhelpers__pick_time($field, $selected_time = 0, $minute_steps = 0)
{
    global $settings, $lang;
    if (!$selected_time) {
        $selected_time = ortime__unixtime_to_sesstime();
    }
    if (!$minute_steps) {
        $minute_steps = $settings['session_duration_minute_steps'];
    }
    $tformat = lang('format_datetime_time_no_sec');
    $is_mil_time = is_mil_time($tformat);
    $is_mil_time_str = $is_mil_time ? 'true' : 'false';
    $tformat = str_replace("%a", "", $tformat);
    $minutedivisions = round(60 / $minute_steps);
    if (!($minutedivisions > 1)) {
        $minutedivisions = 4;
    }
    $sda = ortime__sesstime_to_array($selected_time);
    $hour_field = helpers__select_hour($field . "_h", $sda['h'], 0, 23, 1, $is_mil_time);
    $minute_field = helpers__select_number($field . "_i", $sda['i'], 0, 59, 2, $settings['session_duration_minute_steps']);
    $tformat = str_replace("%H", $hour_field, $tformat);
    $tformat = str_replace("%h", $hour_field, $tformat);
    $tformat = str_replace("%i", $minute_field, $tformat);
    $cp = '<i id="' . $field . '_clockpicker" class="fa fa-clock-o fa-lg"></i>';
    $cp .= '<script type="text/javascript">
    $(function() {
    function updateTimeSelects_' . $field . ' (time) {
        console.log(time);
        var cpos = time.indexOf( ":", 0 );
        if(cpos<2) {
            var h = Number(time.substr(0,1));
            var i = Number(time.substr(2,2));
        } else {
            var h = Number(time.substr(0,2));
            var i = Number(time.substr(3,2));
        }
        if (time.indexOf("AM",0)>0) {
            if (h==12) { h=0; }
        }
        if (time.indexOf("PM",0)>0) {
            console.log("pm");
            if (h==12) { h=0; }
            h+=12;
        }
        console.log(h + ":" + i);
        ($("#' . $field . '_h")).val(h);
        ($("#' . $field . '_i")).val(i);
    }

    $("#' . $field . '_clockpicker").clockpick({
    starthour: 8,
    endhour: 20,
    showminutes: true,
    minutedivisions: ' . $minutedivisions . ',
    military: ' . $is_mil_time_str . ',
    event: "click", // click, mouseover, or focus
    layout: "vertical",
    hoursopacity: 1.0,
    minutesopacity: 1.0
    }, updateTimeSelects_' . $field . ');
    });
    </script>
    ';
    $out = trim($tformat) . $cp;
    return $out;
}
コード例 #6
0
ファイル: experiment_edit.php プロジェクト: kfarr2/psu-orsee
    }
}
if ($proceed) {
    // form
    // initialize if empty
    if (!isset($edit)) {
        $edit = array();
        $formvarnames = array('experiment_name', 'experiment_public_name', 'experiment_description', 'public_experiment_note', 'experiment_link_to_paper', 'experiment_class', 'experiment_id', 'sender_mail', 'experiment_show_type', 'access_restricted', 'experiment_finished', 'hide_in_stats', 'hide_in_cal', 'ethics_by', 'ethics_number', 'ethics_exempt', 'ethics_expire_date', 'payment_types', 'payment_budgets');
        foreach ($formvarnames as $fvn) {
            if (!isset($edit[$fvn])) {
                $edit[$fvn] = "";
            }
        }
    }
    if (!$edit['ethics_expire_date']) {
        $edit['ethics_expire_date'] = ortime__unixtime_to_sesstime() + 100000000;
    }
    echo '<CENTER>';
    show_message();
    if (!isset($edit['experiment_id']) || !$edit['experiment_id']) {
        $edit['experiment_id'] = time();
    }
    echo '<FORM action="experiment_edit.php">
			<INPUT type=hidden name="experiment_id" value="' . $edit['experiment_id'] . '">';
    echo '<TABLE class="or_formtable" style="max-width: 90%;">';
    echo '		<TR>
				<TD>' . lang('id') . '</TD>
				<TD>' . $edit['experiment_id'] . '</TD>
			</TR>';
    echo '		<TR>
				<TD>' . lang('internal_name') . ':</TD>
コード例 #7
0
ファイル: events_edit.php プロジェクト: kfarr2/psu-orsee
 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);
     $button_name = lang('change');
 }
 echo '<center>';
 show_message();
 echo '<p width="70%">' . lang('for_session_time_reservation_please_use_experiments') . '<BR>' . lang('this_reservation_type_is_for_maintenence_purposes') . '<BR><BR></p>';
 echo '<FORM action="events_edit.php" method="POST">