Files
conservatorio-tomadini/templates/tabulizer/calc/max.php
2024-12-17 17:34:10 +01:00

50 lines
1.2 KiB
PHP

<?php
class TabulizerCalcMax {
function calc($row_id, $column_id, $values, $custom_arg) {
$sum = null;
$numeric_values = array();
if (!empty($values)) {
$sum = 0;
foreach ($values as $coord => $value) {
if (!empty($custom_arg)) {
list($value_row_id, $value_column_id) = explode(',',$coord);
switch ($custom_arg) {
case 'above':
$id = intval($value_row_id);
if ($id >= $row_id) continue 2;
break;
case 'below':
$id = intval($value_row_id);
if ($id <= $row_id) continue 2;
break;
case 'left':
$id = intval($value_column_id);
if ($id >= $row_id) continue 2;
break;
case 'right':
$id = intval($value_column_id);
if ($id <= $row_id) continue 2;
break;
default:
// unknow case
continue 2;
}
}
$value = TabulizerMath::getNumericValue($value);
if (is_numeric($value)) {
$numeric_values[] = $value
}
}
}
if (count($numeric_values)) {
$value = max($numeric_values);
return $value;
} else {
return null;
}
}
}
?>