Files
2026-06-07 00:33:58 +09:00

98 lines
1.9 KiB
PHP

<?php
function h($value): string
{
return htmlspecialchars((string)($value ?? ''), ENT_QUOTES, 'UTF-8');
}
function won($value): string
{
return number_format((float)$value, 0) . '원';
}
function money_plain($value, int $decimals = 0): string
{
return number_format((float)$value, $decimals);
}
function numf($value, int $decimals = 0): string
{
return number_format((float)$value, $decimals);
}
function intvalf($value): string
{
return number_format((int)$value);
}
function percentf($value, int $decimals = 1): string
{
return number_format((float)$value, $decimals) . '%';
}
function blank_to_dash($value): string
{
$value = trim((string)($value ?? ''));
return $value === '' ? '-' : $value;
}
function ymd($value): string
{
if (empty($value)) {
return '-';
}
$ts = strtotime((string)$value);
if ($ts === false) {
return h((string)$value);
}
return date('Y-m-d', $ts);
}
function ym($value): string
{
if (empty($value)) {
return '-';
}
$ts = strtotime((string)$value . '-01');
if ($ts === false) {
return h((string)$value);
}
return date('Y-m', $ts);
}
function redirect(string $url): void
{
header("Location: {$url}");
exit;
}
function set_flash_message(string $type, string $message): void
{
if (session_status() === PHP_SESSION_NONE) {
session_start();
}
$_SESSION['flash_message'] = [
'type' => $type,
'message' => $message,
];
}
function get_flash_message(): ?array
{
if (session_status() === PHP_SESSION_NONE) {
session_start();
}
if (empty($_SESSION['flash_message'])) {
return null;
}
$flash = $_SESSION['flash_message'];
unset($_SESSION['flash_message']);
return $flash;
}