예제 #1
0
 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;
     }
 }