Files
mrbs-equbao-2026/web/lib/MRBS/Calendar/CalendarFactory.php
T
人事系统开发 48092cab42
Docker image / push (push) Canceled after 0s
MRBS 1.12.2 等保2.0二级整改完整提交
包含:登录失败锁定、90天密码有效期、30分钟会话超时、
强制改密、登录审计日志、屏幕水印、企业背景图、
备案信息固定底部、favicon、登录页JS修复等全部改动
2026-09-08 21:19:47 +08:00

52 lines
1.5 KiB
PHP

<?php
declare(strict_types=1);
namespace MRBS\Calendar;
use InvalidArgumentException;
class CalendarFactory
{
public static function create(
string $view,
int $view_all,
int $year,
int $month,
int $day,
int $area_id,
int $room_id,
?int $timetohighlight=null,
?string $kiosk=null) : Calendar
{
switch ($view)
{
case 'day':
return new CalendarMultislotDay($view, $view_all, $year, $month, $day, $area_id, $room_id, $timetohighlight, $kiosk);
break;
case 'week':
if ($view_all)
{
return new CalendarMultidayMultiroom($view, $view_all, $year, $month, $day, $area_id, $room_id);
}
return new CalendarMultislotWeek($view, $view_all, $year, $month, $day, $area_id, $room_id, $timetohighlight);
break;
case 'month':
if ($view_all)
{
return new CalendarMultidayMultiroom($view, $view_all, $year, $month, $day, $area_id, $room_id);
}
return new CalendarMonthOneRoom($view, $view_all, $year, $month, $day, $area_id, $room_id);
break;
case 'year':
if ($view_all)
{
return new CalendarMultimonthMultiroom($view, $view_all, $year, $month, $day, $area_id, $room_id);
}
return new CalendarMultimonthOneRoom($view, $view_all, $year, $month, $day, $area_id, $room_id);
break;
default:
throw new InvalidArgumentException("Invalid view: $view");
break;
}
}
}