SlaLevel::dropdownExecutionTime PHP Метод

dropdownExecutionTime() статический публичный Метод

Dropdown execution time for SLT
static public dropdownExecutionTime ( $name, $options = [] ) : nothing
$name string name of the select
$options array of possible options: - value : default value - max_time : max time to use - used : already used values
Результат nothing
    static function dropdownExecutionTime($name, $options = array())
    {
        $p['value'] = '';
        $p['max_time'] = 4 * DAY_TIMESTAMP;
        $p['used'] = array();
        if (is_array($options) && count($options)) {
            foreach ($options as $key => $val) {
                $p[$key] = $val;
            }
        }
        // Display default value;
        if (($key = array_search($p['value'], $p['used'])) !== false) {
            unset($p['used'][$key]);
        }
        $possible_values = array();
        for ($i = 10; $i < 60; $i += 10) {
            if (!in_array($i * MINUTE_TIMESTAMP, $p['used'])) {
                $possible_values[$i * MINUTE_TIMESTAMP] = sprintf(_n('+ %d minute', '+ %d minutes', $i), $i);
            }
            if (!in_array(-$i * MINUTE_TIMESTAMP, $p['used'])) {
                if ($p['max_time'] >= $i * MINUTE_TIMESTAMP) {
                    $possible_values[-$i * MINUTE_TIMESTAMP] = sprintf(_n('- %d minute', '- %d minutes', $i), $i);
                }
            }
        }
        for ($i = 1; $i < 24; $i++) {
            if (!in_array($i * HOUR_TIMESTAMP, $p['used'])) {
                $possible_values[$i * HOUR_TIMESTAMP] = sprintf(_n('+ %d hour', '+ %d hours', $i), $i);
            }
            if (!in_array(-$i * HOUR_TIMESTAMP, $p['used'])) {
                if ($p['max_time'] >= $i * HOUR_TIMESTAMP) {
                    $possible_values[-$i * HOUR_TIMESTAMP] = sprintf(_n('- %d hour', '- %d hours', $i), $i);
                }
            }
        }
        for ($i = 1; $i < 30; $i++) {
            if (!in_array($i * DAY_TIMESTAMP, $p['used'])) {
                $possible_values[$i * DAY_TIMESTAMP] = sprintf(_n('+ %d day', '+ %d days', $i), $i);
            }
            if (!in_array(-$i * DAY_TIMESTAMP, $p['used'])) {
                if ($p['max_time'] >= $i * DAY_TIMESTAMP) {
                    $possible_values[-$i * DAY_TIMESTAMP] = sprintf(_n('- %d day', '- %d days', $i), $i);
                }
            }
        }
        if (!in_array(0, $p['used'])) {
            $possible_values[0] = __('Time to resolve');
        }
        ksort($possible_values);
        Dropdown::showFromArray($name, $possible_values, array('value' => $p['value']));
    }