Files
mrbs-equbao-2026/lib/MRBS/Calendar/CalendarFactory.php
T
人事系统开发 1ba6efd8ed MRBS 1.12.2 等保2.0二级整改完整提交
包含:登录失败锁定、90天密码有效期、30分钟会话超时、
强制改密、登录审计日志、屏幕水印、企业背景图、
备案信息固定底部、favicon、JS空集合保护、
会话过期体验优化(403 JSON)、display_errors 关闭、
固定 key 根治 Integrity check failed 等全部改动

注意:config.inc.php/.htaccess/.user.ini 含敏感信息,
通过 .gitignore 排除,勿推送到公开仓库。
2026-09-09 16:55:02 +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;
}
}
}