function convert_module() {}
-function convert_content($app) {
+function convert_content(App $a) {
+ // @TODO UnitConverter uses a deprecated constructor with the class' name
+ // @TODO Let's one day rewrite this to a modern composer package
+ include 'UnitConvertor.php';
-include 'UnitConvertor.php';
-
- class TP_Converter extends UnitConvertor {
- function TP_Converter($lang = 'en')
+ class TP_Converter extends UnitConvertor
{
- if ($lang != 'en' ) {
- $dec_point = '.'; $thousand_sep = "'";
- } else {
- $dec_point = '.'; $thousand_sep = ',';
- }
-
- $this->UnitConvertor($dec_point , $thousand_sep );
-
- } // end func UnitConvertor
+ public function __construct(string $lang = 'en')
+ {
+ if ($lang == 'en' ) {
+ $dec_point = '.';
+ $thousand_sep = ',';
+ } else {
+ $dec_point = '.';
+ $thousand_sep = "'";
+ }
- function find_base_unit($from,$to) {
- while (list($skey,$sval) = each($this->bases)) {
- if ($skey == $from || $to == $skey || in_array($to,$sval) || in_array($from,$sval)) {
- return $skey;
- }
+ parent::UnitConvertor($dec_point, $thousand_sep );
}
- return false;
- }
- function getTable($value, $from_unit, $to_unit, $precision) {
+ private function findBaseUnit($from, $to)
+ {
+ while (list($skey, $sval) = each($this->bases)) {
+ if ($skey == $from || $to == $skey || in_array($to, $sval) || in_array($from, $sval)) {
+ return $skey;
+ }
+ }
- if ($base_unit = $this->find_base_unit($from_unit,$to_unit)) {
+ return false;
+ }
- // A baseunit was found now lets convert from -> $base_unit
+ public function getTable($value, $from_unit, $to_unit, $precision): string
+ {
+ $string = '';
+ if ($base_unit = $this->findBaseUnit($from_unit, $to_unit)) {
+ // A baseunit was found now lets convert from -> $base_unit
$cell ['value'] = $this->convert($value, $from_unit, $base_unit, $precision) . ' ' . $base_unit;
- $cell ['class'] = ($base_unit == $from_unit || $base_unit == $to_unit) ? 'framedred' : '';
- $cells[] = $cell;
- // We now have the base unit and value now lets produce the table;
- while (list($key,$val) = each($this->bases[$base_unit])) {
- $cell ['value'] = $this->convert($value, $from_unit, $val, $precision) . ' ' . $val;
- $cell ['class'] = ($val == $from_unit || $val == $to_unit) ? 'framedred' : '';
+ $cell ['class'] = ($base_unit == $from_unit || $base_unit == $to_unit) ? 'framedred' : '';
$cells[] = $cell;
- }
- $cc = count($cells);
- $string = "<table class=\"framed grayish\" border=\"1\" cellpadding=\"5\" width=\"80%\" align=\"center\"><tr>";
- $string .= "<td rowspan=\"$cc\" align=\"center\">$value $from_unit</td>";
- $i=0;
- foreach ($cells as $cell) {
- if ($i==0) {
- $string .= "<td class=\"".$cell['class']."\">".$cell['value']."</td>";
- $i++;
- } else {
- $string .= "</tr><tr><td class=\"".$cell['class']."\">".$cell['value']."</td>";
+ // We now have the base unit and value now lets produce the table;
+ while (list($key, $val) = each($this->bases[$base_unit])) {
+ $cell ['value'] = $this->convert($value, $from_unit, $val, $precision) . ' ' . $val;
+ $cell ['class'] = ($val == $from_unit || $val == $to_unit) ? 'framedred' : '';
+ $cells[] = $cell;
+ }
+
+ $cc = count($cells);
+ $string = "<table class=\"framed grayish\" border=\"1\" cellpadding=\"5\" width=\"80%\" align=\"center\"><tr>";
+ $string .= "<td rowspan=\"$cc\" align=\"center\">$value $from_unit</td>";
+ $i = 0;
+ foreach ($cells as $cell) {
+ if ($i == 0) {
+ $string .= "<td class=\"" . $cell['class'] . "\">" . $cell['value'] . "</td>";
+ $i++;
+ } else {
+ $string .= "</tr><tr><td class=\"" . $cell['class'] . "\">" . $cell['value'] . "</td>";
+ }
}
+ $string .= "</tr></table>";
}
- $string .= "</tr></table>";
+
return $string;
}
-
}
-}
-
-$conv = new TP_Converter('en');
-$conversions = [
- 'Temperature' => ['base' => 'Celsius',
- 'conv' => [
- 'Fahrenheit' => ['ratio' => 1.8, 'offset' => 32],
- 'Kelvin' => ['ratio' => 1, 'offset' => 273],
- 'Reaumur' => 0.8
- ]
- ],
- 'Weight' => ['base' => 'kg',
- 'conv' => [
- 'g' => 1000,
- 'mg' => 1000000,
- 't' => 0.001,
- 'grain' => 15432,
- 'oz' => 35.274,
- 'lb' => 2.2046,
- 'cwt(UK)' => 0.019684,
- 'cwt(US)' => 0.022046,
- 'ton (US)' => 0.0011023,
- 'ton (UK)' => 0.0009842
- ]
- ],
- 'Distance' => ['base' => 'km',
- 'conv' => [
- 'm' => 1000,
- 'dm' => 10000,
- 'cm' => 100000,
- 'mm' => 1000000,
- 'mile' => 0.62137,
- 'naut.mile' => 0.53996,
- 'inch(es)' => 39370,
- 'ft' => 3280.8,
- 'yd' => 1093.6,
- 'furlong' => 4.970969537898672,
- 'fathom' => 546.8066491688539
- ]
- ],
- 'Area' => ['base' => 'km 2',
- 'conv' => [
- 'ha' => 100,
- 'acre' => 247.105,
- 'm 2' => pow(1000,2),
- 'dm 2' => pow(10000,2),
- 'cm 2' => pow(100000,2),
- 'mm 2' => pow(1000000,2),
- 'mile 2' => pow(0.62137,2),
- 'naut.miles 2' => pow(0.53996,2),
- 'in 2' => pow(39370,2),
- 'ft 2' => pow(3280.8,2),
- 'yd 2' => pow(1093.6,2),
+ $conv = new TP_Converter('en');
+
+ $conversions = [
+ 'Temperature' => ['base' => 'Celsius',
+ 'conv' => [
+ 'Fahrenheit' => ['ratio' => 1.8, 'offset' => 32],
+ 'Kelvin' => ['ratio' => 1, 'offset' => 273],
+ 'Reaumur' => 0.8
+ ]
+ ],
+ 'Weight' => ['base' => 'kg',
+ 'conv' => [
+ 'g' => 1000,
+ 'mg' => 1000000,
+ 't' => 0.001,
+ 'grain' => 15432,
+ 'oz' => 35.274,
+ 'lb' => 2.2046,
+ 'cwt(UK)' => 0.019684,
+ 'cwt(US)' => 0.022046,
+ 'ton (US)' => 0.0011023,
+ 'ton (UK)' => 0.0009842
+ ]
+ ],
+ 'Distance' => ['base' => 'km',
+ 'conv' => [
+ 'm' => 1000,
+ 'dm' => 10000,
+ 'cm' => 100000,
+ 'mm' => 1000000,
+ 'mile' => 0.62137,
+ 'naut.mile' => 0.53996,
+ 'inch(es)' => 39370,
+ 'ft' => 3280.8,
+ 'yd' => 1093.6,
+ 'furlong' => 4.970969537898672,
+ 'fathom' => 546.8066491688539
+ ]
+ ],
+ 'Area' => ['base' => 'km 2',
+ 'conv' => [
+ 'ha' => 100,
+ 'acre' => 247.105,
+ 'm 2' => pow(1000,2),
+ 'dm 2' => pow(10000,2),
+ 'cm 2' => pow(100000,2),
+ 'mm 2' => pow(1000000,2),
+ 'mile 2' => pow(0.62137,2),
+ 'naut.miles 2' => pow(0.53996,2),
+ 'in 2' => pow(39370,2),
+ 'ft 2' => pow(3280.8,2),
+ 'yd 2' => pow(1093.6,2),
+ ]
+ ],
+ 'Volume' => ['base' => 'm 3',
+ 'conv' => [
+ 'in 3' => 61023.6,
+ 'ft 3' => 35.315,
+ 'cm 3' => pow(10,6),
+ 'dm 3' => 1000,
+ 'litre' => 1000,
+ 'hl' => 10,
+ 'yd 3' => 1.30795,
+ 'gal(US)' => 264.172,
+ 'gal(UK)' => 219.969,
+ 'pint' => 2113.376,
+ 'quart' => 1056.688,
+ 'cup' => 4266.753,
+ 'fl oz' => 33814.02,
+ 'tablespoon' => 67628.04,
+ 'teaspoon' => 202884.1,
+ 'pt (UK)' => 1000/0.56826,
+ 'barrel petroleum' => 1000/158.99,
+ 'Register Tons' => 2.832,
+ 'Ocean Tons' => 1.1327
+ ]
+ ],
+ 'Speed' => ['base' => 'kmph',
+ 'conv' => [
+ 'mps' => 0.0001726031,
+ 'milesph' => 0.62137,
+ 'knots' => 0.53996,
+ 'mach STP' => 0.0008380431,
+ 'c (warp)' => 9.265669e-10
+ ]
]
- ],
- 'Volume' => ['base' => 'm 3',
- 'conv' => [
- 'in 3' => 61023.6,
- 'ft 3' => 35.315,
- 'cm 3' => pow(10,6),
- 'dm 3' => 1000,
- 'litre' => 1000,
- 'hl' => 10,
- 'yd 3' => 1.30795,
- 'gal(US)' => 264.172,
- 'gal(UK)' => 219.969,
- 'pint' => 2113.376,
- 'quart' => 1056.688,
- 'cup' => 4266.753,
- 'fl oz' => 33814.02,
- 'tablespoon' => 67628.04,
- 'teaspoon' => 202884.1,
- 'pt (UK)' => 1000/0.56826,
- 'barrel petroleum' => 1000/158.99,
- 'Register Tons' => 2.832,
- 'Ocean Tons' => 1.1327
- ]
- ],
- 'Speed' => ['base' => 'kmph',
- 'conv' => [
- 'mps' => 0.0001726031,
- 'milesph' => 0.62137,
- 'knots' => 0.53996,
- 'mach STP' => 0.0008380431,
- 'c (warp)' => 9.265669e-10
- ]
- ]
-];
-
+ ];
-while (list($key,$val) = each($conversions)) {
- $conv->addConversion($val['base'], $val['conv']);
- $list[$key][] = $val['base'];
- while (list($ukey,$uval) = each($val['conv'])) {
- $list[$key][] = $ukey;
+ while (list($key,$val) = each($conversions)) {
+ $conv->addConversion($val['base'], $val['conv']);
+ $list[$key][] = $val['base'];
+ while (list($ukey,$uval) = each($val['conv'])) {
+ $list[$key][] = $ukey;
+ }
}
-}
-
- $o .= '<h3>Unit Conversions</h3>';
+ $o .= '<h3>Unit Conversions</h3>';
if (isset($_POST['from_unit']) && isset($_POST['value'])) {
$_POST['value'] = $_POST['value'] + 0;