\App\Calendar::canWrite($c, (int)\App\Auth::personId()))); $visCals = array_map('intval', (array)($visCals ?? [])); $hiddenCals = array_map('intval', (array)($hiddenCals ?? [])); $newAt = (string)($newAt ?? ''); // 能不能"点一下建日程":只读账号点了没反应,所以连 rt-writable 标记都不给。 // 🔴 v48(用户 2026-10-14 第 3 条):**十字光标已去掉**(CSS 里不再有 cursor:crosshair), // 但 `rt-writable` 这个**类名保留** —— 它是"这个人能不能写"在 DOM 上的标记位, // 点击建日程的判断逻辑与此无关(见底部 JS 的 $canWrite && $writable)。 $canNew = $canWrite && (bool)$writable; // 三种看法各自的「上一段 / 下一段」:月按整月走,周按 7 天走,天按 1 天走 $step = $view === 'week' ? 7 : ($view === 'day' ? 1 : 0); $prevD = date('Y-m-d', strtotime('-' . $step . ' days', strtotime($anchor))); $nextD = date('Y-m-d', strtotime('+' . $step . ' days', strtotime($anchor))); $todayD = date('Y-m-d'); $headText = $view === 'month' ? date('Y 年 n 月', $ts) : ($view === 'week' ? date('Y 年 n 月 j 日', strtotime($anchor)) . ' 起这一周' : date('Y 年 n 月 j 日', strtotime($anchor))); ?>