public function get_limits($limit_id = null) { if ($this->parameter_template_id) { $template_field_array = ParameterTemplateHasField_Access::list_fields_by_template_id($this->parameter_template_id); if (is_array($template_field_array) and count($template_field_array) >= 1) { $limit_key_array = array(); $limit_key_counter = 0; $return_array = array(); $field_counter = 1; foreach ($template_field_array as $key => $value) { $field_limit_array = ParameterFieldLimit_Access::list_field_limits_by_parameter_field_id($value); if (is_numeric($limit_id) and $field_limit_array[$limit_id]) { $return_array[0]['usl'][$field_counter] = $field_limit_array[$limit_id]['usl']; $return_array[0]['lsl'][$field_counter] = $field_limit_array[$limit_id]['lsl']; } else { foreach ($field_limit_array as $limit_key => $limit_value) { if (is_numeric($limit_key_array[$limit_key])) { $limit_array_address = $limit_key_array[$limit_key]; } else { $parameter_limit = new ParameterLimit_Access($limit_key); $limit_array_address = $limit_key_counter; $limit_key_array[$limit_key] = $limit_key_counter; $return_array[$limit_array_address]['name'] = $parameter_limit->get_name(); $return_array[$limit_array_address]['pk'] = $limit_key; $return_array[$limit_array_address]['usl'][0] = null; $return_array[$limit_array_address]['lsl'][0] = null; $limit_key_counter++; } $return_array[$limit_array_address]['usl'][$field_counter] = $limit_value['usl']; $return_array[$limit_array_address]['lsl'][$field_counter] = $limit_value['lsl']; } } $field_counter++; } return $return_array; } else { return null; } } else { return null; } }