コード例 #1
0
function smarty_function_mtassetproperty($args, &$ctx)
{
    $asset = $ctx->stash('asset');
    if (!$asset) {
        return '';
    }
    if (!isset($args['property'])) {
        return '';
    }
    if ($args['property'] == 'file_size') {
        $asset_file = smarty_function_mtassetfilepath($args, $ctx);
        if (file_exists($asset_file)) {
            $filesize = filesize($asset_file);
        } else {
            $filesize = 0;
        }
        $format = '1';
        if (isset($args['format'])) {
            $format = $args['format'];
        }
        if ($format == '1') {
            if ($filesize < 1024) {
                $filesize = sprintf("%d Bytes", $filesize);
            } elseif ($filesize < 1024000) {
                $filesize = sprintf("%.1f KB", $filesize / 1024);
            } else {
                $filesize = sprintf("%.1f MB", $filesize / 1024000);
            }
        } elseif ($format == 'k') {
            $filesize = sprintf("%.1f", $filesize / 1024);
        } elseif ($format == 'm') {
            $filesize = sprintf("%.1f", $filesize / 1024000);
        }
        return $filesize;
    } elseif ($args['property'] == 'image_width' || $args['property'] == 'image_height') {
        if ($asset->asset_class == 'image') {
            $prop = 'asset_' . $args['property'];
            return $asset->{$prop};
        } else {
            return 0;
        }
    } else {
        $prop = 'asset_' . $args['property'];
        if (is_null($asset->{$prop})) {
            return '';
        }
        return $asset->{$prop};
    }
}
コード例 #2
0
function smarty_function_mtassetproperty($args, &$ctx)
{
    $asset = $ctx->stash('asset');
    if (!$asset) {
        return '';
    }
    if (!isset($args['property'])) {
        return '';
    }
    if ($args['property'] == 'file_size') {
        $asset_file = smarty_function_mtassetfilepath($args, $ctx);
        $filesize = filesize($asset_file);
        $format = '1';
        if (isset($args['format'])) {
            $format = $args['format'];
        }
        if ($format == '1') {
            if ($filesize < 1024) {
                $filesize = sprintf("%d Bytes", $filesize);
            } elseif ($filesize < 1048576) {
                $filesize = sprintf("%.1f KB", $filesize / 1024);
            } else {
                $filesize = sprintf("%.1f MB", $filesize / 1048576);
            }
        } elseif ($format == 'k') {
            $filesize = sprintf("%.1f", $filesize / 1024);
        } elseif ($format == 'm') {
            $filesize = sprintf("%.1f", $filesize / 1048576);
        }
        return $filesize;
    } elseif ($args['property'] == 'image_width' || $args['property'] == 'image_height') {
        if ($asset['asset_class'] == 'image') {
            return $asset['asset_' . $args['property']];
        } else {
            return 0;
        }
    } else {
        if (!isset($asset['asset_' . $args['property']])) {
            return '';
        }
        return $asset['asset_' . $args['property']];
    }
}