Files
人事系统开发 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

43 lines
1.1 KiB
PHP

<?php
namespace MRBS;
require_once 'standard_vars.inc.php'; // to ensure the timezone is set
// Get all the monthly repeats
$sql = "SELECT T.id, T.start_time, A.timezone
FROM " . _tbl('repeat') . " T, " . _tbl('area') . " A, " . _tbl('room') . " M
WHERE T.rep_type=" . RepeatRule::MONTHLY . "
AND T.room_id=M.id
AND M.area_id=A.id";
$res = $upgrade_handle->query($sql);
// Save the current default timezone so that we can restore it at the end
$old_tz = mrbs_default_timezone_get();
$mods = array();
while (false !== ($row = $res->next_row_keyed()))
{
// We need to make sure that we have the correct timezone set when we work out
// the day of the month that this series repeats on
if (!empty($row['timezone']))
{
mrbs_default_timezone_set($row['timezone']);
}
$mods[$row['id']] = date('j', $row['start_time']);
}
foreach ($mods as $id => $month_absolute)
{
$sql = "UPDATE " . _tbl('repeat') . "
SET month_absolute=$month_absolute
WHERE id=$id";
$upgrade_handle->command($sql);
}
// Restore the original timezone
mrbs_default_timezone_set($old_tz);