コード例 #1
0
ファイル: parameter.io.php プロジェクト: suxinde2009/www
 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, '', '&#38;');
         $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, '', '&#38;');
         $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();
     }
 }
コード例 #2
0
ファイル: data.ajax.php プロジェクト: suxinde2009/www
 /**
  * @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, '', '&#38;');
             } 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, '', '&#38;');
             }
             $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, '', '&#38;');
                         $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, '', '&#38;');
                         $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, '', '&#38;');
                         $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, '', '&#38;');
                         $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, '', '&#38;');
                     $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();
     }
 }
コード例 #3
0
 /**
  * @param integer $parameter_template_id
  * @return bool
  */
 public static function is_deletable($parameter_template_id)
 {
     return !ParameterTemplateParameter::is_template_linked($parameter_template_id);
 }
コード例 #4
0
ファイル: parameter.class.php プロジェクト: suxinde2009/www
 /**
  * @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);
     }
 }
コード例 #5
0
ファイル: parameter.ajax.php プロジェクト: suxinde2009/www
 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();
     }
 }