コード例 #1
0
ファイル: commonfunctions.php プロジェクト: aagusti/padl-tng
function GetTotals($field, $value, $stype, $iNumberOfRows, $sFormat, $ptype)
{
    global $strTableName;
    $pSet = new ProjectSettings($strTableName, $ptype);
    $days = 0;
    if ($stype == "AVERAGE") {
        if ($iNumberOfRows) {
            if ($sFormat == FORMAT_TIME) {
                if ($value) {
                    $value = round($value / $iNumberOfRows, 0);
                    $s = $value % 60;
                    $value -= $s;
                    $value /= 60;
                    $m = $value % 60;
                    $value -= $m;
                    $value /= 60;
                    $h = $value % 24;
                    $value -= $h;
                    $value /= 24;
                    $d = $value;
                    $value = ($d != 0 ? $d . 'd ' : '') . mysprintf("%02d:%02d:%02d", array($h, $m, $s));
                }
            } else {
                $value = round($value / $iNumberOfRows, 2);
            }
        } else {
            return "";
        }
    }
    if ($stype == "TOTAL") {
        if ($sFormat == FORMAT_TIME) {
            if ($value) {
                $s = $value % 60;
                $value -= $s;
                $value /= 60;
                $m = $value % 60;
                $value -= $m;
                $value /= 60;
                $h = $value % 24;
                $value -= $h;
                $value /= 24;
                $d = $value;
                $value = ($d != 0 ? $d . 'd ' : '') . mysprintf("%02d:%02d:%02d", array($h, $m, $s));
            }
        }
    }
    $sValue = "";
    $data = array($field => $value);
    if ($sFormat == FORMAT_CURRENCY) {
        $sValue = str_format_currency($value);
    } else {
        if ($sFormat == FORMAT_PERCENT) {
            $sValue = str_format_number($value * 100) . "%";
        } else {
            if ($sFormat == FORMAT_NUMBER) {
                $sValue = str_format_number($value, $pSet->isDecimalDigits($field));
            } else {
                if ($sFormat == FORMAT_CUSTOM && $stype != "COUNT") {
                    include_once getabspath('classes/controls/ViewControlsContainer.php');
                    $viewControls = new ViewControlsContainer($pSet, $ptype);
                    $sValue = $viewControls->showDBValue($field, $data);
                } else {
                    $sValue = $value;
                }
            }
        }
    }
    if ($stype == "COUNT") {
        return $value;
    }
    if ($stype == "TOTAL") {
        return $sValue;
    }
    if ($stype == "AVERAGE") {
        return $sValue;
    }
    return "";
}