/** * @throws FolderIDMissingException */ public static function add_parameter_item($type_array, $category_array, $holder_class, $holder_id, $position_id) { global $regional; if (class_exists($holder_class)) { $item_holder = new $holder_class($holder_id); if ($item_holder instanceof ItemHolderInterface) { $folder_id = $item_holder->get_item_holder_value("folder_id", $position_id); } } if (count($type_array) != 1 and $_POST['type_id']) { $parameter_template_id = $_POST['type_id']; } elseif (count($type_array) == 1 and $type_array[0] !== "") { $parameter_template_id = ParameterTemplate::get_id_by_internal_name($type_array[0]); } else { $parameter_template_id = null; } if (!is_numeric($parameter_template_id)) { $template = new HTMLTemplate("data/parameter_select_list.html"); $paramquery = $_GET; $params = http_build_query($paramquery, '', '&'); $template->set_var("params", $params); if (count($type_array) > 1) { $template->set_var("select", ParameterTemplate::list_templates($type_array)); } else { $template->set_var("select", ParameterTemplate::list_templates()); } if ($_POST['keywords']) { $template->set_var("keywords", $_POST['keywords']); } else { $template->set_var("keywords", ""); } if ($_POST['description']) { $template->set_var("description", $_POST['description']); } else { $template->set_var("description", ""); } $template->output(); } else { $parameter_template = new ParameterTemplate($parameter_template_id); $parameter_template_field_array = $parameter_template->get_fields(); $parameter_template_limit_array = $parameter_template->get_limits(); $parameter_possible_methods_array = $parameter_template->get_methods(); $output_template_limit_array = array(); $output_template_limit_counter = 0; if (is_array($parameter_template_limit_array) and count($parameter_template_limit_array) >= 1) { foreach ($parameter_template_limit_array as $key => $value) { $output_template_limit_array[$output_template_limit_counter]['value'] = $value['pk']; $output_template_limit_array[$output_template_limit_counter]['selected'] = ""; $output_template_limit_array[$output_template_limit_counter]['content'] = $value['name']; $output_template_limit_counter++; } } $output_template_field_array = array(); $output_template_field_counter = 0; if (is_array($parameter_template_field_array) and count($parameter_template_field_array) >= 1) { foreach ($parameter_template_field_array as $key => $value) { $output_template_field_array[$output_template_field_counter]['id'] = $key; $output_template_field_array[$output_template_field_counter]['pk'] = $value['pk']; $output_template_field_array[$output_template_field_counter]['name'] = $value['name']; if (is_numeric($value['min'])) { $output_template_field_array[$output_template_field_counter]['min'] = $value['min']; } else { $output_template_field_array[$output_template_field_counter]['min'] = ""; } if (is_numeric($value['max'])) { $output_template_field_array[$output_template_field_counter]['max'] = $value['max']; } else { $output_template_field_array[$output_template_field_counter]['max'] = ""; } if (is_numeric($parameter_template_limit_array[0]['usl'][$key])) { $output_template_field_array[$output_template_field_counter]['usl'] = $parameter_template_limit_array[0]['usl'][$key]; } else { $output_template_field_array[$output_template_field_counter]['usl'] = ""; } if (is_numeric($parameter_template_limit_array[0]['lsl'][$key])) { $output_template_field_array[$output_template_field_counter]['lsl'] = $parameter_template_limit_array[0]['lsl'][$key]; } else { $output_template_field_array[$output_template_field_counter]['lsl'] = ""; } if ($key == 1) { $output_template_field_array[$output_template_field_counter]['class'] = "odd"; } else { if ($output_template_field_counter % 2 == 0) { $output_template_field_array[$output_template_field_counter]['class'] = "odd DataParameterTemplateField"; } else { $output_template_field_array[$output_template_field_counter]['class'] = "evan DataParameterTemplateField"; } } if (is_numeric($value['unit'])) { if ($value['unit_exponent'] < 0) { $unit_exponent = $value['unit_exponent'] * -1; $unit_prefix = MeasuringUnit::get_prefix($unit_exponent, false); } else { $unit_prefix = MeasuringUnit::get_prefix($value['unit_exponent'], true); } $measuring_unit = new MeasuringUnit($value['unit']); $output_template_field_array[$output_template_field_counter]['unit'] = $unit_prefix[1] . "" . $measuring_unit->get_unit_symbol(); } elseif (is_numeric($value['unit_ratio'])) { $measuring_unit_ratio = new MeasuringUnitRatio($value['unit_ratio']); $output_template_field_array[$output_template_field_counter]['unit'] = $measuring_unit_ratio->get_symbol(); } else { $output_template_field_array[$output_template_field_counter]['unit'] = ""; } $method_counter = 1; $output_template_field_array[$output_template_field_counter][0]['value'] = "0"; $output_template_field_array[$output_template_field_counter][0]['content'] = "none"; if (is_array($parameter_possible_methods_array) and is_array($parameter_possible_methods_array[$value['pk']]) and count($parameter_possible_methods_array[$value['pk']]) >= 1) { foreach ($parameter_possible_methods_array[$value['pk']] as $method_key => $method_value) { $output_template_field_array[$output_template_field_counter][$method_counter]['value'] = $method_key; $output_template_field_array[$output_template_field_counter][$method_counter]['content'] = $method_value; $method_counter++; } } $output_template_field_counter++; } } $template = new HTMLTemplate("data/parameter_add.html"); if ($_GET['retrace']) { $template->set_var("retrace", "index.php?" . http_build_query(Retrace::resolve_retrace_string($_GET['retrace']))); } else { $template->set_var("retrace", "index.php?username="******"&session_id=" . $_GET['session_id']); } $template->set_var("session_id", $_GET['session_id']); $template->set_var("folder_id", $folder_id); $template->set_var("type_id", $parameter_template_id); $template->set_var("get_array", serialize($_GET)); $template->set_var("thousand_separator", $regional->get_thousand_separator()); $template->set_var("decimal_separator", $regional->get_decimal_separator()); $template->set_var("name", $parameter_template->get_name()); $template->set_var("limits", $output_template_limit_array); $template->set_var("fields", $output_template_field_array); $template->output(); } }
public static function edit() { if (isset($_GET['id']) and is_numeric($_GET['id'])) { $parameter_template = new ParameterTemplate($_GET['id']); $template = new HTMLTemplate("data/admin/parameter_template/edit.html"); $paramquery = $_GET; unset($paramquery['action']); unset($paramquery['id']); $params = http_build_query($paramquery, '', '&'); $template->set_var("retrace", "index.php?" . $params); $template->set_var("session_id", $_GET['session_id']); $template->set_var("name", $parameter_template->get_name()); $template->set_var("internal_name", $parameter_template->get_internal_name()); $measuring_unit_array = MeasuringUnit::get_categorized_list(); $parameter_template_field_array = $parameter_template->get_fields(); $parameter_template_limit_array = $parameter_template->get_limits(); $output_template_field_array = array(); $output_template_field_counter = 0; $parameter_template_limit_json = json_encode($parameter_template_limit_array); if (is_array($parameter_template_field_array) and count($parameter_template_field_array) >= 1) { foreach ($parameter_template_field_array as $key => $value) { $output_template_field_array[$output_template_field_counter]['id'] = $key; $output_template_field_array[$output_template_field_counter]['pk'] = $value['pk']; $output_template_field_array[$output_template_field_counter]['name'] = $value['name']; if (is_numeric($value['min'])) { $output_template_field_array[$output_template_field_counter]['min'] = $value['min']; } else { $output_template_field_array[$output_template_field_counter]['min'] = ""; } if (is_numeric($value['max'])) { $output_template_field_array[$output_template_field_counter]['max'] = $value['max']; } else { $output_template_field_array[$output_template_field_counter]['max'] = ""; } if (is_numeric($parameter_template_limit_array[0]['usl'][$key])) { $output_template_field_array[$output_template_field_counter]['usl'] = $parameter_template_limit_array[0]['usl'][$key]; } else { $output_template_field_array[$output_template_field_counter]['usl'] = ""; } if (is_numeric($parameter_template_limit_array[0]['lsl'][$key])) { $output_template_field_array[$output_template_field_counter]['lsl'] = $parameter_template_limit_array[0]['lsl'][$key]; } else { $output_template_field_array[$output_template_field_counter]['lsl'] = ""; } if ($key == 1) { $output_template_field_array[$output_template_field_counter]['class'] = "odd"; } else { if ($output_template_field_counter % 2 == 0) { $output_template_field_array[$output_template_field_counter]['class'] = "odd DataParameterTemplateField"; } else { $output_template_field_array[$output_template_field_counter]['class'] = "evan DataParameterTemplateField"; } } if (is_array($measuring_unit_array) and count($measuring_unit_array) >= 1) { $measuring_unit_counter = 0; foreach ($measuring_unit_array as $measuring_unit_key => $measuring_unit_value) { if ($measuring_unit_value['headline'] == true) { $output_template_field_array[$output_template_field_counter][$measuring_unit_counter]['disabled'] = "disabled='disabled'"; $output_template_field_array[$output_template_field_counter][$measuring_unit_counter]['selected'] = ""; } else { $output_template_field_array[$output_template_field_counter][$measuring_unit_counter]['disabled'] = ""; if ($measuring_unit_value['id'] == $value['unit'] and $measuring_unit_value['exponent'] == $value['unit_exponent']) { $output_template_field_array[$output_template_field_counter][$measuring_unit_counter]['selected'] = "selected='selected'"; } elseif ($measuring_unit_value['exponent'] == "" and $measuring_unit_value['id'] == $value['unit_ratio']) { $output_template_field_array[$output_template_field_counter][$measuring_unit_counter]['selected'] = "selected='selected'"; } else { $output_template_field_array[$output_template_field_counter][$measuring_unit_counter]['selected'] = ""; } } $output_template_field_array[$output_template_field_counter][$measuring_unit_counter]['value'] = $measuring_unit_value['id'] . "-" . $measuring_unit_value['exponent']; $output_template_field_array[$output_template_field_counter][$measuring_unit_counter]['content'] = $measuring_unit_value['name']; $measuring_unit_counter++; } } if ($key == 1) { $output_template_field_array[$output_template_field_counter]['deletable'] = false; } else { $output_template_field_array[$output_template_field_counter]['deletable'] = true; } $output_template_field_counter++; } } $template->set_var("fields", $output_template_field_array); $template->set_var("limit_json", $parameter_template_limit_json); $template->set_var("limit_counter", count($parameter_template_limit_array) - 1); $template->set_var("line_counter", count($parameter_template_field_array)); $template->set_var("id", $_GET['id']); $template->output(); } else { // Exception } }
/** * @see ParameterTemplateParameterInterface::get_name() * @return string */ public function get_name() { if ($this->parameter_id) { $parameter_template = new ParameterTemplate($this->get_template_id()); return $parameter_template->get_name(); } else { return null; } }
/** * @see ItemListenerInterface::get_generic_name() * @param string $type * @param array $type_array * @return string */ public static function get_generic_name($type, $type_array) { if ($type == "file") { return "File"; } elseif ($type == "parameter") { if (is_array($type_array) and count($type_array) == 1) { $parameter_template_id = ParameterTemplate::get_id_by_internal_name($type_array[0]); if (is_numeric($parameter_template_id)) { $parameter_template = new ParameterTemplate($parameter_template_id); if (($parameter_name = $parameter_template->get_name()) != null) { return "" . $parameter_name; } else { return "Parameter"; } } else { return "Parameter"; } } else { return "Parameter"; } } else { if (is_array($type_array) and count($type_array) == 1) { $value_type = new ValueType($type_array[0]); if (($value_name = $value_type->get_name()) != null) { return "" . $value_name; } else { return "Value"; } } else { return "Value"; } } }