public static function detail($parameter = null, $target_params = null, $display_header = true) { global $regional; if (is_object($parameter) and $target_params) { $retrace = "index.php?" . $target_params; $parameter_id = $parameter->get_id(); } elseif (is_numeric($_GET['parameter_id'])) { $parameter_id = $_GET['parameter_id']; $parameter = ParameterTemplateParameter::get_instance($parameter_id); $paramquery = $_GET; unset($paramquery['action']); unset($paramquery['parameter_id']); $params = http_build_query($paramquery); $retrace = "index.php?" . $params; if ($_GET['version'] and is_numeric($_GET['version'])) { $parameter->open_internal_revision($_GET['version']); } } else { throw new ParameterIDMissingException(); } if ($parameter->is_read_access()) { $parameter_template_id = $parameter->get_template_id(); $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(); $parameter_value_array = $parameter->get_values(); $parameter_method_array = $parameter->get_methods(); $parameter_limit_array = $parameter->get_limits(); $output_template_limit_array = array(); $output_template_limit_counter = 0; if (is_array($parameter_template_limit_array) and count($parameter_template_limit_array) >= 1) { $current_limit = $parameter->get_limit_id(); 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]['content'] = $value['name']; if ($value['pk'] == $current_limit) { $output_template_limit_array[$output_template_limit_counter]['selected'] = "selected='selected'"; } else { $output_template_limit_array[$output_template_limit_counter]['selected'] = ""; } $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($parameter_value_array[$value['pk']])) { $regionalized_value = str_replace(".", $regional->get_decimal_separator(), $parameter_value_array[$value['pk']]); $output_template_field_array[$output_template_field_counter]['value'] = $regionalized_value; } else { $output_template_field_array[$output_template_field_counter]['value'] = ""; } 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 ($parameter_limit_array[$value['pk']]) { if (is_numeric($parameter_limit_array[$value['pk']]['usl'])) { $output_template_field_array[$output_template_field_counter]['usl'] = $parameter_limit_array[$value['pk']]['usl']; } else { $output_template_field_array[$output_template_field_counter]['usl'] = ""; } if (is_numeric($parameter_limit_array[$value['pk']]['lsl'])) { $output_template_field_array[$output_template_field_counter]['lsl'] = $parameter_limit_array[$value['pk']]['lsl']; } else { $output_template_field_array[$output_template_field_counter]['lsl'] = ""; } } else { 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; if ($parameter_method_array[$value['pk']] == $method_key) { $output_template_field_array[$output_template_field_counter][$method_counter]['selected'] = " selected='selected'"; } else { $output_template_field_array[$output_template_field_counter][$method_counter]['selected'] = ""; } $method_counter++; } } $output_template_field_counter++; } } $template = new HTMLTemplate("data/parameter_detail.html"); $parameter_version_array = $parameter->get_parameter_internal_revisions(); if (is_array($parameter_version_array) and count($parameter_version_array) > 0) { $result = array(); $counter = 1; $result[0]['version'] = 0; $result[0]['text'] = "----------------------------------------------"; $parameter_version = Parameter::get_instance($_GET['parameter_id'], true); foreach ($parameter_version_array as $key => $fe_value) { $parameter_version->open_internal_revision($fe_value); $version_datetime_handler = new DatetimeHandler($parameter_version->get_version_datetime()); $result[$counter]['version'] = $parameter_version->get_internal_revision(); $result[$counter]['text'] = "Version " . $parameter_version->get_version() . " - " . $version_datetime_handler->get_datetime(); $counter++; } $template->set_var("version_option", $result); } $result = array(); $counter = 0; foreach ($_GET as $key => $fe_value) { if ($key != "version") { $result[$counter]['value'] = $fe_value; $result[$counter]['key'] = $key; $counter++; } } $template->set_var("get", $result); $template->set_var("version", $parameter->get_version()); $version_datetime_handler = new DatetimeHandler($parameter->get_version_datetime()); $template->set_var("version_datetime", $version_datetime_handler->get_datetime()); $paramquery = $_GET; $paramquery['action'] = "permission"; unset($paramquery['nextpage']); $params = http_build_query($paramquery, '', '&'); $template->set_var("change_permission_params", $params); if ($parameter->is_control_access() == true or $parameter->get_owner_id() == $user->get_user_id()) { $template->set_var("change_permission", true); } else { $template->set_var("change_permission", false); } if ($parameter->is_write_access() == true or $parameter->get_owner_id() == $user->get_user_id()) { $template->set_var("write_permission", true); } else { $template->set_var("write_permission", false); } $paramquery = $_GET; $paramquery['action'] = "parameter_history"; $params = http_build_query($paramquery, '', '&'); $template->set_var("version_list_link", $params); $template->set_var("display_header", $display_header); $template->set_var("session_id", $_GET['session_id']); $template->set_var("parameter_id", $parameter_id); $template->set_var("type_id", $parameter_template_id); $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->set_var("retrace", $retrace); $template->output(); } else { throw new DataSecurityAccessDeniedException(); } }
/** * @param string $json_column_array * @param string $json_argument_array * @param string $get_array * @param string $css_page_id * @param string $css_row_sort_id * @param string $entries_per_page * @param string $page * @param string $sortvalue * @param string $sortmethod * @return string * @throws FolderIDMissingException */ public static function list_data_browser($json_column_array, $json_argument_array, $get_array, $css_page_id, $css_row_sort_id, $entries_per_page, $page, $sortvalue, $sortmethod) { if ($get_array) { $_GET = unserialize($get_array); } if ($json_argument_array) { $argument_array = json_decode($json_argument_array); } $folder_id = $argument_array[0][1]; $virtual_folder_id = $argument_array[1][1]; if (!$folder_id and !$virtual_folder_id) { $data_path = new DataPath(null, null); $folder_id = $data_path->get_folder_id(); } if (is_numeric($folder_id) or is_numeric($virtual_folder_id)) { $list_request = new ListRequest_IO(); $list_request->set_column_array($json_column_array); if (!is_numeric($entries_per_page) or $entries_per_page < 1) { $entries_per_page = 20; } $list_array = DataBrowser::get_data_browser_array($folder_id, $virtual_folder_id, $sortvalue, $sortmethod, $page * $entries_per_page - $entries_per_page, $page * $entries_per_page); if ($folder_id) { $data_path = new DataPath($folder_id, null); } elseif ($virtual_folder_id) { $data_path = new DataPath(null, $virtual_folder_id); } else { $data_path = new DataPath(null, null); } if ($folder_id != 1 or $virtual_folder_id != null) { if ($data_path->get_previous_entry_virtual() == true) { $paramquery = $_GET; $paramquery['vfolder_id'] = $data_path->get_previous_entry_id(); unset($paramquery['folder_id']); unset($paramquery['nextpage']); unset($paramquery['page']); $params = http_build_query($paramquery, '', '&'); } else { $paramquery = $_GET; $paramquery['folder_id'] = $data_path->get_previous_entry_id(); unset($paramquery['nextpage']); unset($paramquery['vfolder_id']); unset($paramquery['page']); $params = http_build_query($paramquery, '', '&'); } $first_line_array['symbol']['link'] = $params; $first_line_array['symbol']['content'] = "<img src='images/icons/parent_folder.png' alt='' style='border:0;' />"; $first_line_array['name']['link'] = $params; $first_line_array['name']['content'] = Language::get_message("DataGeneralTitleParentFolder", "general"); $first_line_array['type'] = Language::get_message("DataGeneralDataTypeParentFolder", "general"); $first_line_array['version'] = ""; $first_line_array['datetime'] = ""; $first_line_array['size'] = ""; $first_line_array['owner'] = ""; $first_line_array['permission'] = ""; $list_request->add_first_line($first_line_array, "DataBrowserParentFolderRow"); } if (is_array($list_array) and count($list_array) >= 1) { foreach ($list_array as $key => $value) { // Common $datetime_handler = new DatetimeHandler($list_array[$key]['datetime']); $list_array[$key]['datetime'] = $datetime_handler->get_datetime(false); if ($list_array[$key]['owner_id']) { $user = new User($list_array[$key]['owner_id']); } else { $user = new User(1); } $list_array[$key]['owner'] = $user->get_full_name(true); // Special if ($list_array[$key]['file_id']) { $file = File::get_instance($list_array[$key]['file_id']); if ($file->is_read_access() == true) { $paramquery = $_GET; $paramquery['nav'] = $_GET['nav']; $paramquery['file_id'] = $list_array[$key]['file_id']; $paramquery['action'] = "file_detail"; $params = http_build_query($paramquery, '', '&'); $list_array[$key]['symbol']['link'] = $params; $list_array[$key]['symbol']['content'] = "<img src='" . $file->get_icon() . "' alt='' style='border:0;' />"; $tmp_name = $list_array[$key]['name']; unset($list_array[$key]['name']); $list_array[$key]['name']['content'] = $tmp_name; $list_array[$key]['name']['link'] = $params; $list_array[$key]['name']['class'] = "DataBrowserIsFile"; } else { $list_array[$key]['symbol'] = "<img src='core/images/denied_overlay.php?image=" . $file->get_icon() . "' alt='' border='0' />"; } $list_array[$key]['type'] = Language::get_message("DataGeneralDataTypeFile", "general"); $list_array[$key]['version'] = $file->get_version(); $list_array[$key]['size'] = Convert::convert_byte_1024($list_array[$key]['size']); $list_array[$key]['permission'] = $file->get_permission_string(); if ($file->is_delete_access()) { $list_array[$key]['delete_checkbox'] = "<input type='checkbox' class='DataBrowserDeleteCheckbox' value='' name=''></input>"; } else { $list_array[$key]['delete_checkbox'] = "<input type='checkbox' class='DataBrowserDeleteCheckbox' value='' name='' disabled='disabled'></input>"; } } elseif ($list_array[$key]['value_id']) { $value = Value::get_instance($list_array[$key]['value_id']); if ($value->is_read_access() == true) { $paramquery = $_GET; $paramquery['nav'] = $_GET['nav']; $paramquery['value_id'] = $list_array[$key]['value_id']; $paramquery['action'] = "value_detail"; $params = http_build_query($paramquery, '', '&'); $list_array[$key]['symbol']['link'] = $params; $list_array[$key]['symbol']['content'] = "<img src='images/fileicons/16/unknown.png' alt='' style='border:0;' />"; $tmp_name = $list_array[$key]['name']; unset($list_array[$key]['name']); $list_array[$key]['name']['content'] = $tmp_name; $list_array[$key]['name']['link'] = $params; $list_array[$key]['name']['class'] = "DataBrowserIsValue"; } else { $list_array[$key]['symbol'] = "<img src='core/images/denied_overlay.php?image=images/fileicons/16/unknown.png' alt='' border='0' />"; } $list_array[$key]['type'] = Language::get_message("DataGeneralDataTypeValue", "general"); $list_array[$key]['version'] = $value->get_version(); $list_array[$key]['permission'] = $value->get_permission_string(); if ($value->is_delete_access()) { $list_array[$key]['delete_checkbox'] = "<input type='checkbox' class='DataBrowserDeleteCheckbox' value='' name=''></input>"; } else { $list_array[$key]['delete_checkbox'] = "<input type='checkbox' class='DataBrowserDeleteCheckbox' value='' name='' disabled='disabled'></input>"; } } elseif ($list_array[$key]['parameter_id']) { $parameter = ParameterTemplateParameter::get_instance($list_array[$key]['parameter_id']); if ($parameter->is_read_access() == true) { $paramquery = $_GET; $paramquery['nav'] = $_GET['nav']; $paramquery['parameter_id'] = $list_array[$key]['parameter_id']; $paramquery['action'] = "parameter_detail"; $params = http_build_query($paramquery, '', '&'); $list_array[$key]['symbol']['link'] = $params; $list_array[$key]['symbol']['content'] = "<img src='images/fileicons/16/unknown.png' alt='' style='border:0;' />"; $tmp_name = $list_array[$key]['name']; unset($list_array[$key]['name']); $list_array[$key]['name']['content'] = $tmp_name; $list_array[$key]['name']['link'] = $params; $list_array[$key]['name']['class'] = "DataBrowserIsParameter"; } else { $list_array[$key]['symbol'] = "<img src='core/images/denied_overlay.php?image=images/fileicons/16/unknown.png' alt='' border='0' />"; } $list_array[$key]['type'] = Language::get_message("DataGeneralDataTypeParameter", "general"); $list_array[$key]['version'] = $parameter->get_version(); $list_array[$key]['permission'] = $parameter->get_permission_string(); if ($parameter->is_delete_access()) { $list_array[$key]['delete_checkbox'] = "<input type='checkbox' class='DataBrowserDeleteCheckbox' value='' name=''></input>"; } else { $list_array[$key]['delete_checkbox'] = "<input type='checkbox' class='DataBrowserDeleteCheckbox' value='' name='' disabled='disabled'></input>"; } } elseif ($list_array[$key]['folder_id']) { $sub_folder = Folder::get_instance($list_array[$key]['folder_id']); if ($sub_folder->is_read_access() == true) { $paramquery = $_GET; $paramquery['folder_id'] = $list_array[$key]['folder_id']; unset($paramquery['nextpage']); unset($paramquery['vfolder_id']); unset($paramquery['page']); $params = http_build_query($paramquery, '', '&'); $list_array[$key]['symbol']['content'] = "<img src='images/icons/folder.png' alt='' style='border:0;' />"; $list_array[$key]['symbol']['link'] = $params; $tmp_name = $list_array[$key]['name']; unset($list_array[$key]['name']); $list_array[$key]['name']['content'] = $tmp_name; $list_array[$key]['name']['link'] = $params; $list_array[$key]['name']['class'] = "DataBrowserIsFolder"; } else { $list_array[$key]['symbol'] = "<img src='core/images/denied_overlay.php?image=images/icons/folder.png' alt='' border='0' />"; } $list_array[$key]['type'] = Language::get_message("DataGeneralDataTypeFolder", "general"); $list_array[$key]['permission'] = $sub_folder->get_permission_string(); if ($sub_folder->is_delete_access()) { $list_array[$key]['delete_checkbox'] = "<input type='checkbox' class='DataBrowserDeleteCheckbox' value='' name=''></input>"; } else { $list_array[$key]['delete_checkbox'] = "<input type='checkbox' class='DataBrowserDeleteCheckbox' value='' name='' disabled='disabled'></input>"; } } elseif ($list_array[$key]['virtual_folder_id']) { $paramquery = $_GET; $paramquery['vfolder_id'] = $list_array[$key]['virtual_folder_id']; unset($paramquery['nextpage']); $params = http_build_query($paramquery, '', '&'); $list_array[$key]['symbol']['content'] = "<img src='images/icons/virtual_folder.png' alt='' style='border:0;' />"; $list_array[$key]['symbol']['link'] = $params; $tmp_name = $list_array[$key]['name']; unset($list_array[$key]['name']); $list_array[$key]['name']['content'] = $tmp_name; $list_array[$key]['name']['link'] = $params; $list_array[$key]['name']['class'] = "DataBrowserIsVirtualFolder"; $list_array[$key]['type'] = Language::get_message("DataGeneralDataTypeVirtualFolder", "general"); $list_array[$key]['permission'] = "automatic"; $list_array[$key]['delete_checkbox'] = "<input type='checkbox' class='DataBrowserDeleteCheckbox' value='' name='' disabled='disabled'></input>"; } } } else { $list_request->empty_message("<span class='italic'>No results found!</span>"); } $list_request->set_array($list_array); return $list_request->get_page($page); } else { throw new FolderIDMissingException(); } }
/** * @param integer $parameter_template_id * @return bool */ public static function is_deletable($parameter_template_id) { return !ParameterTemplateParameter::is_template_linked($parameter_template_id); }
/** * @param integer $parameter_id * @param bool $force_new_instance * @return object */ public static function get_instance($parameter_id, $force_new_instance = false) { if (is_numeric($parameter_id) and $parameter_id > 0) { if (ParameterTemplateParameter::is_template_parameter($parameter_id) == true) { if ($force_new_instance == true) { return new ParameterTemplateParameter($parameter_id); } else { if (self::$parameter_object_array[$parameter_id]) { return self::$parameter_object_array[$parameter_id]; } else { $parameter = new ParameterTemplateParameter($parameter_id); self::$parameter_object_array[$parameter_id] = $parameter; return $parameter; } } } elseif (ParameterNonTemplateParameter::is_non_template_parameter($parameter_id) == true) { if ($force_new_instance == true) { return new ParameterNonTemplateParameter($parameter_id); } else { if (self::$parameter_object_array[$parameter_id]) { return self::$parameter_object_array[$parameter_id]; } else { $parameter = new ParameterNonTemplateParameter($parameter_id); self::$parameter_object_array[$parameter_id] = $parameter; return $parameter; } } } else { return null; } } else { return new ParameterTemplateParameter(null); } }
public static function update($parameter_id, $parameter_array, $limit_id, $major, $current) { if (is_numeric($parameter_id)) { $parameter = ParameterTemplateParameter::get_instance($parameter_id); $parameter_array = json_decode($parameter_array, true); $parameter->update($parameter_array, $limit_id, null, $major, $current); return "1"; } else { throw new ParameterIDMissingException(); } }