包含:登录失败锁定、90天密码有效期、30分钟会话超时、 强制改密、登录审计日志、屏幕水印、企业背景图、 备案信息固定底部、favicon、JS空集合保护、 会话过期体验优化(403 JSON)、display_errors 关闭、 固定 key 根治 Integrity check failed 等全部改动 注意:config.inc.php/.htaccess/.user.ini 含敏感信息, 通过 .gitignore 排除,勿推送到公开仓库。
52 lines
1.5 KiB
PHP
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;
|
|
}
|
|
}
|
|
}
|