コード例 #1
0
 /**
  * @see MeasuringUnitRatioInterface::__construct()
  * @param integer $measuring_unit_ratio_id
  * @throws BaseEnvironmentMeasuringUnitRatioNotFoundException
  */
 function __construct($measuring_unit_ratio_id)
 {
     if (is_numeric($measuring_unit_ratio_id)) {
         if (MeasuringUnitRatio_Access::exist_id($measuring_unit_ratio_id) == true) {
             $this->measuring_unit_ratio_id = $measuring_unit_ratio_id;
             $this->measuring_unit_ratio = new MeasuringUnitRatio_Access($measuring_unit_ratio_id);
             $this->measuring_unit_ratio_numerator = new MeasuringUnit_Access($this->measuring_unit_ratio->get_numerator_unit_id());
             $this->measuring_unit_ratio_denominator = new MeasuringUnit_Access($this->measuring_unit_ratio->get_denominator_unit_id());
         } else {
             throw new BaseEnvironmentMeasuringUnitRatioNotFoundException();
         }
     } else {
         $this->measuring_unit_ratio_id = null;
         $this->measuring_unit_ratio = new MeasuringUnitRatio_Access(null);
         $this->measuring_unit_ratio_numerator = null;
         $this->measuring_unit_ratio_denominator = null;
     }
 }
コード例 #2
0
 /**
  * @see MeasuringUnitInterface::list_entries()
  * @return array
  */
 public static function get_categorized_list()
 {
     $return_array = array();
     $counter = 0;
     $unit_array = MeasuringUnit_Access::list_entries_without_category();
     if (is_array($unit_array) and count($unit_array) >= 1) {
         foreach ($unit_array as $unit_key => $unit_value) {
             if ($unit_array['min_prefix_exponent'] and $unit_value['min_prefix_exponent'] >= 3) {
                 $prefix_array = self::get_prefix($i, false);
                 if (is_array($prefix_array) and count($prefix_array) == 2) {
                     $return_array[$counter]['id'] = $unit_value['id'];
                     $return_array[$counter]['name'] = $prefix_array[0] . "" . $unit_value['name'] . " (" . $prefix_array[1] . "" . $unit_value['unit_symbol'] . ")";
                     $return_array[$counter]['exponent'] = "-" . $i;
                     $return_array[$counter]['headline'] = false;
                     $counter++;
                 }
             }
             $return_array[$counter]['id'] = $unit_value['id'];
             $return_array[$counter]['name'] = $unit_value['name'] . " (" . $unit_value['unit_symbol'] . ")";
             $return_array[$counter]['exponent'] = 0;
             $return_array[$counter]['headline'] = false;
             $counter++;
             if ($unit_array['max_prefix_exponent'] and $unit_value['max_prefix_exponent'] >= 3) {
                 $prefix_array = self::get_prefix($i);
                 if (is_array($prefix_array) and count($prefix_array) == 2) {
                     $return_array[$counter]['id'] = $unit_value['id'];
                     $return_array[$counter]['name'] = $prefix_array[0] . "" . $unit_value['name'] . " (" . $prefix_array[1] . "" . $unit_value['unit_symbol'] . ")";
                     $return_array[$counter]['exponent'] = $i;
                     $return_array[$counter]['headline'] = false;
                     $counter++;
                 }
             }
         }
     }
     $category_array = MeasuringUnitCategory_Access::list_entries();
     if (is_array($category_array) and count($category_array) >= 1) {
         foreach ($category_array as $key => $value) {
             $return_array[$counter]['name'] = $value['name'];
             $return_array[$counter]['headline'] = true;
             $counter++;
             $unit_array = MeasuringUnit_Access::list_entries_by_category_id($value['id']);
             if (is_array($unit_array) and count($unit_array) >= 1) {
                 foreach ($unit_array as $unit_key => $unit_value) {
                     if ($unit_value['min_prefix_exponent'] and $unit_value['min_prefix_exponent'] >= 3) {
                         for ($i = $unit_value['min_prefix_exponent']; $i >= 3; $i = $i - 3) {
                             $prefix_array = self::get_prefix($i, false);
                             if (is_array($prefix_array) and count($prefix_array) == 2) {
                                 $return_array[$counter]['id'] = $unit_value['id'];
                                 $return_array[$counter]['name'] = $prefix_array[0] . "" . $unit_value['name'] . " (" . $prefix_array[1] . "" . $unit_value['unit_symbol'] . ")";
                                 $return_array[$counter]['exponent'] = "-" . $i;
                                 $return_array[$counter]['headline'] = false;
                                 $counter++;
                             }
                         }
                     }
                     $return_array[$counter]['id'] = $unit_value['id'];
                     $return_array[$counter]['name'] = $unit_value['name'] . " (" . $unit_value['unit_symbol'] . ")";
                     $return_array[$counter]['exponent'] = 0;
                     $return_array[$counter]['headline'] = false;
                     $counter++;
                     if ($unit_value['max_prefix_exponent'] and $unit_value['max_prefix_exponent'] >= 3) {
                         for ($i = 3; $i <= $unit_value['max_prefix_exponent']; $i = $i + 3) {
                             $prefix_array = self::get_prefix($i);
                             if (is_array($prefix_array) and count($prefix_array) == 2) {
                                 $return_array[$counter]['id'] = $unit_value['id'];
                                 $return_array[$counter]['name'] = $prefix_array[0] . "" . $unit_value['name'] . " (" . $prefix_array[1] . "" . $unit_value['unit_symbol'] . ")";
                                 $return_array[$counter]['exponent'] = $i;
                                 $return_array[$counter]['headline'] = false;
                                 $counter++;
                             }
                         }
                     }
                 }
             }
         }
     }
     $return_array[$counter]['name'] = "Ratios";
     $return_array[$counter]['headline'] = true;
     $counter++;
     $ratio_array = MeasuringUnitRatio_Access::list_entries();
     if (is_array($ratio_array) and count($ratio_array) >= 1) {
         foreach ($ratio_array as $ratio_key => $ratio_value) {
             $numerator_unit = new MeasuringUnit_Access($ratio_value['numerator_unit_id']);
             $numerator_prefix_array = self::get_prefix($ratio_value['numerator_unit_exponent']);
             $denominator_unit = new MeasuringUnit_Access($ratio_value['denominator_unit_id']);
             $denominator_prefix_array = self::get_prefix($ratio_value['denominator_unit_exponent']);
             $return_array[$counter]['id'] = $ratio_value['id'];
             $return_array[$counter]['name'] = $numerator_prefix_array[0] . "" . $numerator_unit->get_name() . " per " . $denominator_prefix_array[1] . "" . $denominator_unit->get_unit_symbol() . " (" . $numerator_prefix_array[1] . "" . $numerator_unit->get_unit_symbol() . "/" . $denominator_prefix_array[1] . "" . $denominator_unit->get_unit_symbol() . ")";
             $return_array[$counter]['exponent'] = "";
             $return_array[$counter]['headline'] = false;
             $counter++;
         }
     }
     return $return_array;
 }