Lines Matching refs:html

138             $html = $this->renderStandaloneEventList($data);
140 $html = $this->renderEventPanelOnly($data);
142 $html = $this->renderStaticCalendar($data);
144 $html = $this->renderCompactCalendar($data);
147 $renderer->doc .= $html;
203 …$html = '<div class="calendar-compact-container ' . $themeClass . '" id="' . $calId . '" data-name…
206 $html .= '<style>
238 $html .= '<script src="' . DOKU_BASE . 'lib/plugins/calendar/calendar-main.js"></script>';
241 …$html .= '<script>if(typeof DOKU_BASE==="undefined"){window.DOKU_BASE="' . DOKU_BASE . '";}</scrip…
244 …$html .= '<script type="application/json" id="events-data-' . $calId . '">' . json_encode($events)…
247 $html .= '<div class="calendar-compact-left">';
250 $html .= '<div class="calendar-compact-header">';
251 …$html .= '<button class="cal-nav-btn" onclick="navCalendar(\'' . $calId . '\', ' . $prevYear . ', …
252 …$html .= '<h3 class="calendar-month-picker" onclick="openMonthPicker(\'' . $calId . '\', ' . $year…
253 …$html .= '<button class="cal-nav-btn" onclick="navCalendar(\'' . $calId . '\', ' . $nextYear . ', …
254 …$html .= '<button class="cal-today-btn" onclick="jumpToToday(\'' . $calId . '\', \'' . $namespace …
255 $html .= '</div>';
258 $html .= '<div class="calendar-day-headers">';
259 …$html .= '<span>S</span><span>M</span><span>T</span><span>W</span><span>T</span><span>F</span><spa…
260 $html .= '</div>';
261 $html .= '<table class="calendar-compact-grid">';
262 $html .= '<tbody>';
322 $html .= '<tr>';
325 $html .= '<td class="cal-empty"></td>';
335 …$html .= '<td class="' . $classes . '" data-date="' . $dateKey . '" tabindex="0" role="gridcell" a…
338 $html .= '<span class="' . $dayNumClass . '">' . $currentDay . '</span>';
357 $html .= '<div class="event-indicators">';
394 $html .= '<span class="event-bar ' . $barClass . '" ';
395 $html .= 'style="background: ' . $eventColor . ';" ';
396 … $html .= 'title="' . $titlePrefix . $eventTitle . ($eventTime ? ' @ ' . $eventTime : '') . '" ';
397 …$html .= 'onclick="event.stopPropagation(); highlightEvent(\'' . $calId . '\', \'' . $eventId . '\…
398 $html .= '</span>';
400 $html .= '</div>';
403 $html .= '</td>';
407 $html .= '</tr>';
410 $html .= '</tbody></table>';
411 $html .= '</div>'; // End calendar-left
414 $html .= '<div class="calendar-compact-right">';
415 $html .= '<div class="event-list-header">';
416 $html .= '<div class="event-list-header-content">';
417 $html .= '<h4 id="eventlist-title-' . $calId . '">Events</h4>';
419 $html .= '<span class="namespace-badge">' . htmlspecialchars($namespace) . '</span>';
421 $html .= '</div>';
429 $html .= '<div class="event-search-container-inline">';
430 …$html .= '<input type="text" class="event-search-input-inline" id="event-search-' . $calId . '" pl…
431 …$html .= '<button class="event-search-clear-inline" id="search-clear-' . $calId . '" onclick="clea…
432 …$html .= '<button class="event-search-mode-inline' . $searchAllClass . '" id="search-mode-' . $cal…
433 $html .= '</div>';
435 …$html .= '<button class="add-event-compact" onclick="openAddEvent(\'' . $calId . '\', \'' . $names…
436 $html .= '</div>';
438 $html .= '<div class="event-list-compact" id="eventlist-' . $calId . '">';
439 $html .= $this->renderEventListContent($events, $calId, $namespace, $themeStyles);
440 $html .= '</div>';
442 $html .= '</div>'; // End calendar-right
445 $html .= $this->renderEventDialog($calId, $namespace, $theme);
448 $html .= $this->renderMonthPicker($calId, $year, $month, $namespace, $theme, $themeStyles);
450 $html .= '</div>'; // End container
452 return $html;
505 …$html = '<div class="calendar-static ' . $themeClass . '" id="' . $calId . '" data-year="' . $year…
508 $html .= '<div class="static-screen-view">';
511 $html .= '<div class="static-header">';
513 …$html .= '<button class="static-nav-btn" onclick="navStaticCalendar(\'' . $calId . '\', -1)" title…
515 $html .= '<h2 class="static-month-title">' . hsc($displayTitle) . '</h2>';
517 …$html .= '<button class="static-nav-btn" onclick="navStaticCalendar(\'' . $calId . '\', 1)" title=…
520 …$html .= '<button class="static-print-btn" onclick="printStaticCalendar(\'' . $calId . '\')" title…
522 $html .= '</div>';
525 $html .= '<table class="static-calendar-grid">';
526 $html .= '<thead><tr>';
529 $html .= '<th>' . $day . '</th>';
531 $html .= '</tr></thead>';
532 $html .= '<tbody>';
539 $html .= '<tr>';
544 $html .= '<td class="static-day-empty"></td>';
556 $html .= '<td class="' . $cellClass . '">';
557 $html .= '<div class="static-day-number">' . $dayCount . '</div>';
560 $html .= '<div class="static-day-events">';
599 …$html .= '<div class="' . $eventClass . '" style="border-left-color: ' . $color . ';" title="' . h…
601 $html .= '<span class="static-event-star">⭐</span>';
604 … $html .= '<span class="static-event-time">' . $this->formatTime12Hour($time) . '</span> ';
606 $html .= '<span class="static-event-title">' . $title . '</span>';
607 $html .= '</div>';
609 $html .= '</div>';
612 $html .= '</td>';
616 $html .= '</tr>';
619 $html .= '</tbody></table>';
620 $html .= '</div>'; // End screen view
624 $html .= '<div class="static-print-view">';
625 $html .= '<h2 class="static-print-title">' . hsc($displayTitle) . '</h2>';
628 …$html .= '<p class="static-print-namespace">' . $this->getLang('calendar_label') . ': ' . hsc($nam…
650 … $html .= '<p class="static-print-empty">' . $this->getLang('no_events_scheduled') . '</p>';
652 $html .= '<table class="static-itinerary">';
653 … $html .= '<thead><tr><th>Date</th><th>Time</th><th>Event</th><th>Details</th></tr></thead>';
654 $html .= '<tbody>';
674 $html .= '<tr class="' . $rowClass . '">';
678 $html .= '<td class="static-itinerary-date">' . $dateDisplay . '</td>';
681 $html .= '<td></td>';
689 $html .= '<td class="static-itinerary-time">' . $time . '</td>';
692 $html .= '<td class="static-itinerary-title">';
694 $html .= '⭐ ';
696 $html .= hsc($event['title']);
697 $html .= '</td>';
701 $html .= '<td class="static-itinerary-desc">' . $desc . '</td>';
703 $html .= '</tr>';
706 $html .= '</tbody></table>';
709 $html .= '</div>'; // End print view
712 $html .= '</div>'; // End container
714 return $html;
1063 $html = '';
1067 $html .= '<div class="past-events-section">';
1068 … $html .= '<div class="past-events-toggle" onclick="togglePastEvents(\'' . $calId . '\')">';
1069 $html .= '<span class="past-events-arrow" id="past-arrow-' . $calId . '">▶</span> ';
1070 $html .= '<span class="past-events-label">Past Events (' . $pastCount . ')</span>';
1071 $html .= '</div>';
1072 …$html .= '<div class="past-events-content" id="past-events-' . $calId . '" style="display:none;">';
1073 $html .= $pastHtml;
1074 $html .= '</div>';
1075 $html .= '</div>';
1079 $html .= $futureHtml;
1081 return $html;
1245 …$html = '<div class="event-panel-standalone" id="' . $calId . '" data-height="' . htmlspecialchars…
1248 $html .= '<style>
1277 $html .= '<script src="' . DOKU_BASE . 'lib/plugins/calendar/calendar-main.js"></script>';
1280 …$html .= '<script>if(typeof DOKU_BASE==="undefined"){window.DOKU_BASE="' . DOKU_BASE . '";}</scrip…
1283 $html .= '<div class="panel-header-compact">';
1286 $html .= '<div class="panel-header-row-1">';
1287 …$html .= '<button class="panel-nav-btn" onclick="navEventPanel(\'' . $calId . '\', ' . $prevYear .…
1291 …$html .= '<h3 class="panel-month-title" onclick="openMonthPickerPanel(\'' . $calId . '\', ' . $yea…
1293 …$html .= '<button class="panel-nav-btn" onclick="navEventPanel(\'' . $calId . '\', ' . $nextYear .…
1299 …$html .= '<span class="panel-ns-badge" style="background:var(--cell-today-bg) !important; color:va…
1303 …$html .= '<span class="panel-ns-badge" style="background:var(--cell-today-bg) !important; color:va…
1308 …$html .= '<span class="panel-ns-badge filter-on" style="background:var(--text-bright) !important; …
1310 …$html .= '<span class="panel-ns-badge" style="background:var(--cell-today-bg) !important; color:va…
1315 …$html .= '<button class="panel-today-btn" onclick="jumpTodayPanel(\'' . $calId . '\', \'' . $names…
1316 $html .= '</div>';
1324 $html .= '<div class="panel-header-row-2">';
1325 $html .= '<div class="panel-search-box">';
1326 …$html .= '<input type="text" class="panel-search-input" id="event-search-' . $calId . '" placehold…
1327 …$html .= '<button class="panel-search-clear" id="search-clear-' . $calId . '" onclick="clearEventS…
1328 …$html .= '<button class="panel-search-mode' . $searchAllClass . '" id="search-mode-' . $calId . '"…
1329 $html .= '</div>';
1330 …$html .= '<button class="panel-add-btn" onclick="openAddEventPanel(\'' . $calId . '\', \'' . $name…
1331 $html .= '</div>';
1333 $html .= '</div>';
1335 …$html .= '<div class="event-list-compact" id="eventlist-' . $calId . '" style="max-height: ' . htm…
1336 $html .= $this->renderEventListContent($events, $calId, $namespace);
1337 $html .= '</div>';
1339 $html .= $this->renderEventDialog($calId, $namespace, $theme);
1342 $html .= $this->renderMonthPicker($calId, $year, $month, $namespace, $theme, $themeStyles);
1344 $html .= '</div>';
1346 return $html;
1551 …$html = '<div class="eventlist-simple ' . $themeClass . '" id="' . $calId . '" style="' . $contain…
1554 $html .= '<style>
1579 $html .= '<script src="' . DOKU_BASE . 'lib/plugins/calendar/calendar-main.js"></script>';
1582 …$html .= '<script>if(typeof DOKU_BASE==="undefined"){window.DOKU_BASE="' . DOKU_BASE . '";}</scrip…
1590 $html .= '<div class="eventlist-today-header">';
1591 …$html .= '<span class="eventlist-today-clock" id="clock-' . $calId . '">' . $currentTime . '</span…
1592 $html .= '<div class="eventlist-bottom-info">';
1593 …$html .= '<span class="eventlist-weather"><span id="weather-icon-' . $calId . '">��️</span> <span …
1594 $html .= '<span class="eventlist-today-date">' . $displayDate . '</span>';
1595 $html .= '</div>';
1597 $html .= '</div>';
1600 $html .= '<script>
1709 $html .= '<div class="eventlist-simple-empty">';
1710 $html .= '<div class="eventlist-simple-header">' . htmlspecialchars($headerText);
1712 … $html .= ' <span class="eventlist-simple-namespace">' . htmlspecialchars($namespace) . '</span>';
1714 $html .= '</div>';
1715 $html .= '<div class="eventlist-simple-body">No events</div>';
1716 $html .= '</div>';
1755 …$html .= '<div class="eventlist-simple-item' . $todayClass . $tomorrowClass . $pastDueClass . '">';
1756 $html .= '<div class="eventlist-simple-header">';
1759 … $html .= '<span class="eventlist-simple-title">' . htmlspecialchars($event['title']) . '</span>';
1770 … $html .= ' <span class="eventlist-simple-time">' . $displayTime . '</span>';
1775 $html .= ' <span class="eventlist-simple-date">' . $displayDate . '</span>';
1779 …$html .= ' <span class="eventlist-simple-pastdue-badge" style="background:' . $themeStyles['pastdu…
1781 …$html .= ' <span class="eventlist-simple-today-badge" style="background:' . $themeStyles['border']…
1790 …$html .= ' <span class="eventlist-simple-namespace">' . htmlspecialchars($eventNamespace) . '</spa…
1793 $html .= '</div>'; // header
1797 …$html .= '<div class="eventlist-simple-body">' . $this->renderDescription($event['description']) .…
1800 $html .= '</div>'; // item
1805 $html .= '</div>'; // eventlist-simple
1807 return $html;
1817 … $html = '<div class="event-dialog-compact" id="dialog-' . $calId . '" style="display:none;">';
1818 … $html .= '<div class="dialog-overlay" onclick="closeEventDialog(\'' . $calId . '\')"></div>';
1821 $html .= '<div class="dialog-content-sleek" id="dialog-content-' . $calId . '">';
1824 … $html .= '<div class="dialog-header-sleek dialog-drag-handle" id="drag-handle-' . $calId . '">';
1825 $html .= '<h3 id="dialog-title-' . $calId . '">Add Event</h3>';
1826 …$html .= '<button type="button" class="dialog-close-btn" onclick="closeEventDialog(\'' . $calId . …
1827 $html .= '</div>';
1830 …$html .= '<form id="eventform-' . $calId . '" onsubmit="saveEventCompact(\'' . $calId . '\', \'' .…
1833 $html .= '<input type="hidden" id="event-id-' . $calId . '" name="eventId" value="">';
1836 $html .= '<div class="form-field">';
1837 $html .= '<label class="field-label">�� Title</label>';
1838 …$html .= '<input type="text" id="event-title-' . $calId . '" name="title" required class="input-sl…
1839 $html .= '</div>';
1842 $html .= '<div class="form-field">';
1843 $html .= '<label class="field-label">�� Namespace</label>';
1846 … $html .= '<input type="hidden" id="event-namespace-' . $calId . '" name="namespace" value="">';
1849 $html .= '<div class="namespace-search-wrapper">';
1850 …$html .= '<input type="text" id="event-namespace-search-' . $calId . '" class="input-sleek input-c…
1851 …$html .= '<div class="namespace-dropdown" id="event-namespace-dropdown-' . $calId . '" style="disp…
1852 $html .= '</div>';
1856 …$html .= '<script type="application/json" id="namespaces-data-' . $calId . '">' . json_encode($all…
1858 $html .= '</div>';
1861 $html .= '<div class="form-field">';
1862 $html .= '<label class="field-label">�� Description</label>';
1863 …$html .= '<textarea id="event-desc-' . $calId . '" name="description" rows="2" class="input-sleek …
1864 $html .= '</div>';
1867 $html .= '<div class="form-row-group">';
1869 $html .= '<div class="form-field form-field-half">';
1870 $html .= '<label class="field-label-compact">�� Start Date</label>';
1871 $html .= '<div class="date-picker-wrapper">';
1872 … $html .= '<input type="hidden" id="event-date-' . $calId . '" name="date" required value="">';
1873 …$html .= '<button type="button" class="custom-date-picker input-sleek input-compact" id="date-pick…
1874 $html .= '<span class="date-display">Select date</span>';
1875 $html .= '<span class="date-arrow">▼</span>';
1876 $html .= '</button>';
1877 $html .= '<div class="date-dropdown" id="date-dropdown-' . $calId . '"></div>';
1878 $html .= '</div>';
1879 $html .= '</div>';
1881 $html .= '<div class="form-field form-field-half">';
1882 $html .= '<label class="field-label-compact">�� End Date</label>';
1883 $html .= '<div class="date-picker-wrapper">';
1884 $html .= '<input type="hidden" id="event-end-date-' . $calId . '" name="endDate" value="">';
1885 …$html .= '<button type="button" class="custom-date-picker input-sleek input-compact" id="end-date-…
1886 $html .= '<span class="date-display">Optional</span>';
1887 $html .= '<span class="date-arrow">▼</span>';
1888 $html .= '</button>';
1889 $html .= '<div class="date-dropdown" id="end-date-dropdown-' . $calId . '"></div>';
1890 $html .= '</div>';
1891 $html .= '</div>';
1893 $html .= '</div>'; // End row
1896 $html .= '<div class="form-field form-field-checkbox form-field-checkbox-compact">';
1897 $html .= '<label class="checkbox-label checkbox-label-compact">';
1898 …$html .= '<input type="checkbox" id="event-recurring-' . $calId . '" name="isRecurring" class="rec…
1899 $html .= '<span>�� Repeating Event</span>';
1900 $html .= '</label>';
1901 $html .= '</div>';
1904 …$html .= '<div id="recurring-options-' . $calId . '" class="recurring-options" style="display:none…
1907 $html .= '<div class="form-row-group" style="margin-bottom:6px;">';
1909 $html .= '<div class="form-field" style="flex:0 0 auto; min-width:0;">';
1910 $html .= '<label class="field-label-compact">Repeat every</label>';
1911 …$html .= '<input type="number" id="event-recurrence-interval-' . $calId . '" name="recurrenceInter…
1912 $html .= '</div>';
1914 $html .= '<div class="form-field" style="flex:1; min-width:0;">';
1915 $html .= '<label class="field-label-compact">&nbsp;</label>';
1916 …$html .= '<select id="event-recurrence-type-' . $calId . '" name="recurrenceType" class="input-sle…
1917 $html .= '<option value="daily">Day(s)</option>';
1918 $html .= '<option value="weekly">Week(s)</option>';
1919 $html .= '<option value="monthly">Month(s)</option>';
1920 $html .= '<option value="yearly">Year(s)</option>';
1921 $html .= '</select>';
1922 $html .= '</div>';
1924 $html .= '</div>'; // End row 1
1927 …$html .= '<div id="weekly-options-' . $calId . '" class="weekly-options" style="display:none; marg…
1928 …$html .= '<label class="field-label-compact" style="display:block; margin-bottom:4px;">On these da…
1929 $html .= '<div style="display:flex; flex-wrap:wrap; gap:2px;">';
1932 …$html .= '<label style="display:inline-flex; align-items:center; padding:2px 6px; background:var(-…
1933 …$html .= '<input type="checkbox" name="weekDays[]" value="' . $idx . '" style="margin-right:3px; w…
1934 $html .= '<span>' . $day . '</span>';
1935 $html .= '</label>';
1937 $html .= '</div>';
1938 $html .= '</div>'; // End weekly options
1941 …$html .= '<div id="monthly-options-' . $calId . '" class="monthly-options" style="display:none; ma…
1942 …$html .= '<label class="field-label-compact" style="display:block; margin-bottom:4px;">Repeat on:<…
1945 $html .= '<div style="margin-bottom:6px;">';
1946 …$html .= '<label style="display:inline-flex; align-items:center; margin-right:12px; cursor:pointer…
1947 …$html .= '<input type="radio" name="monthlyType" value="dayOfMonth" checked onchange="updateMonthl…
1948 $html .= 'Day of month';
1949 $html .= '</label>';
1950 …$html .= '<label style="display:inline-flex; align-items:center; cursor:pointer; font-size:11px;">…
1951 …$html .= '<input type="radio" name="monthlyType" value="ordinalWeekday" onchange="updateMonthlyTyp…
1952 $html .= 'Weekday pattern';
1953 $html .= '</label>';
1954 $html .= '</div>';
1957 …$html .= '<div id="monthly-day-' . $calId . '" style="display:flex; align-items:center; gap:6px;">…
1958 $html .= '<span style="font-size:11px;">Day</span>';
1959 …$html .= '<input type="number" id="event-month-day-' . $calId . '" name="monthDay" class="input-sl…
1960 $html .= '<span style="font-size:10px; color:var(--text-dim, #666);">of each month</span>';
1961 $html .= '</div>';
1964 $html .= '<div id="monthly-ordinal-' . $calId . '" style="display:none;">';
1965 $html .= '<div style="display:flex; align-items:center; gap:4px; flex-wrap:wrap;">';
1966 …$html .= '<select id="event-ordinal-' . $calId . '" name="ordinalWeek" class="input-sleek input-co…
1967 $html .= '<option value="1">First</option>';
1968 $html .= '<option value="2">Second</option>';
1969 $html .= '<option value="3">Third</option>';
1970 $html .= '<option value="4">Fourth</option>';
1971 $html .= '<option value="5">Fifth</option>';
1972 $html .= '<option value="-1">Last</option>';
1973 $html .= '</select>';
1974 …$html .= '<select id="event-ordinal-day-' . $calId . '" name="ordinalDay" class="input-sleek input…
1975 $html .= '<option value="0">Sunday</option>';
1976 $html .= '<option value="1">Monday</option>';
1977 $html .= '<option value="2">Tuesday</option>';
1978 $html .= '<option value="3">Wednesday</option>';
1979 $html .= '<option value="4">Thursday</option>';
1980 $html .= '<option value="5">Friday</option>';
1981 $html .= '<option value="6">Saturday</option>';
1982 $html .= '</select>';
1983 $html .= '<span style="font-size:10px; color:var(--text-dim, #666);">of each month</span>';
1984 $html .= '</div>';
1985 $html .= '</div>';
1987 $html .= '</div>'; // End monthly options
1990 $html .= '<div class="form-row-group">';
1991 $html .= '<div class="form-field">';
1992 $html .= '<label class="field-label-compact">Repeat Until (optional)</label>';
1993 …$html .= '<input type="date" id="event-recurrence-end-' . $calId . '" name="recurrenceEnd" class="…
1994 …$html .= '<div style="font-size:9px; color:var(--text-dim, #666); margin-top:2px;">Leave empty for…
1995 $html .= '</div>';
1996 $html .= '</div>'; // End row 4
1998 $html .= '</div>'; // End recurring options
2001 $html .= '<div class="form-row-group">';
2003 $html .= '<div class="form-field form-field-half">';
2004 $html .= '<label class="field-label-compact">�� Start Time</label>';
2005 $html .= '<div class="time-picker-wrapper">';
2007 $html .= '<input type="hidden" id="event-time-' . $calId . '" name="time" value="">';
2008 …$html .= '<button type="button" class="custom-time-picker input-sleek input-compact" id="time-pick…
2009 $html .= '<span class="time-display">All day</span>';
2010 $html .= '<span class="time-arrow">▼</span>';
2011 $html .= '</button>';
2012 $html .= '<div class="time-dropdown" id="time-dropdown-' . $calId . '"></div>';
2013 $html .= '</div>';
2014 $html .= '</div>';
2016 $html .= '<div class="form-field form-field-half">';
2017 $html .= '<label class="field-label-compact">�� End Time</label>';
2018 $html .= '<div class="time-picker-wrapper">';
2020 $html .= '<input type="hidden" id="event-end-time-' . $calId . '" name="endTime" value="">';
2021 …$html .= '<button type="button" class="custom-time-picker input-sleek input-compact" id="end-time-…
2022 $html .= '<span class="time-display">Same as start</span>';
2023 $html .= '<span class="time-arrow">▼</span>';
2024 $html .= '</button>';
2025 $html .= '<div class="time-dropdown" id="end-time-dropdown-' . $calId . '"></div>';
2026 $html .= '</div>';
2027 $html .= '</div>';
2029 $html .= '</div>'; // End row
2032 $html .= '<div class="form-row-group">';
2034 $html .= '<div class="form-field form-field-full">';
2035 $html .= '<label class="field-label-compact">�� Color</label>';
2036 $html .= '<div class="color-picker-wrapper">';
2037 …$html .= '<select id="event-color-' . $calId . '" name="color" class="input-sleek input-compact co…
2038 $html .= '<option value="#3498db" style="background:#3498db;color:white">�� Blue</option>';
2039 $html .= '<option value="#2ecc71" style="background:#2ecc71;color:white">�� Green</option>';
2040 $html .= '<option value="#e74c3c" style="background:#e74c3c;color:white">�� Red</option>';
2041 … $html .= '<option value="#f39c12" style="background:#f39c12;color:white">�� Orange</option>';
2042 … $html .= '<option value="#9b59b6" style="background:#9b59b6;color:white">�� Purple</option>';
2043 $html .= '<option value="#e91e63" style="background:#e91e63;color:white">�� Pink</option>';
2044 $html .= '<option value="#1abc9c" style="background:#1abc9c;color:white">�� Teal</option>';
2045 $html .= '<option value="custom">�� Custom...</option>';
2046 $html .= '</select>';
2047 …$html .= '<input type="color" id="event-color-custom-' . $calId . '" class="color-picker-input col…
2048 $html .= '</div>';
2049 $html .= '</div>';
2051 $html .= '</div>'; // End row
2054 $html .= '<div class="form-field form-field-checkbox form-field-checkbox-compact">';
2055 $html .= '<label class="checkbox-label checkbox-label-compact">';
2056 …$html .= '<input type="checkbox" id="event-is-task-' . $calId . '" name="isTask" class="task-toggl…
2057 $html .= '<span>�� This is a task (can be checked off)</span>';
2058 $html .= '</label>';
2059 $html .= '</div>';
2062 $html .= '<div class="dialog-actions-sleek">';
2063 …$html .= '<button type="button" class="btn-sleek btn-cancel-sleek" onclick="closeEventDialog(\'' .…
2064 $html .= '<button type="submit" class="btn-sleek btn-save-sleek">�� Save</button>';
2065 $html .= '</div>';
2067 $html .= '</form>';
2068 $html .= '</div>';
2069 $html .= '</div>';
2071 return $html;
2082 …$html = '<div class="month-picker-overlay ' . $themeClass . '" id="month-picker-overlay-' . $calId…
2083 $html .= '<div class="month-picker-dialog" onclick="event.stopPropagation();">';
2084 $html .= '<h4>Jump to Month</h4>';
2086 $html .= '<div class="month-picker-selects">';
2087 $html .= '<select id="month-picker-month-' . $calId . '" class="month-picker-select">';
2091 … $html .= '<option value="' . $m . '"' . $selected . '>' . $monthNames[$m - 1] . '</option>';
2093 $html .= '</select>';
2095 $html .= '<select id="month-picker-year-' . $calId . '" class="month-picker-select">';
2099 $html .= '<option value="' . $y . '"' . $selected . '>' . $y . '</option>';
2101 $html .= '</select>';
2102 $html .= '</div>';
2104 $html .= '<div class="month-picker-actions">';
2105 …$html .= '<button class="btn-sleek btn-cancel-sleek" onclick="closeMonthPicker(\'' . $calId . '\')…
2106 …$html .= '<button class="btn-sleek btn-save-sleek" onclick="jumpToSelectedMonth(\'' . $calId . '\'…
2107 $html .= '</div>';
2109 $html .= '</div>';
2110 $html .= '</div>';
2112 return $html;
2242 foreach ($tokens as $i => $html) {
2243 $rendered = str_replace("\x00TOKEN" . $i . "\x00", $html, $rendered);
2575 …$html = '<div class="sidebar-widget ' . $themeClass . '" id="sidebar-widget-' . $calId . '" style=…
2579 $html .= '<style>
2608 $html .= '<style>
2652 $html .= '<script>
2705 $html .= '<script>
2793 …$html .= '<div class="eventlist-today-header" style="background:' . $themeStyles['header_bg'] . ';…
2794 …$html .= '<span class="eventlist-today-clock" id="clock-' . $calId . '" style="color:' . $themeSty…
2795 $html .= '<div class="eventlist-bottom-info">';
2796 …$html .= '<span class="eventlist-weather"><span id="weather-icon-' . $calId . '">��️</span> <span …
2797 …$html .= '<span class="eventlist-today-date" style="color:' . $themeStyles['text_dim'] . ';">' . $…
2798 $html .= '</div>';
2799 $html .= '</div>';
2814 …$html .= '<div style="background:' . $addBtnBg . '; padding:0; margin:0; height:12px; line-height:…
2816 …$html .= '<span style="color:' . $addBtnTextColor . '; font-size:8px; font-weight:700; letter-spac…
2817 $html .= '</div>';
2820 $html .= $this->renderWeekGrid($weekEvents, $weekStart, $themeStyles, $theme);
2869 …$html .= '<div id="itinerary-bar-' . $calId . '" style="background:' . $itineraryBg . '; padding:0…
2870 …$html .= '<span id="itinerary-arrow-' . $calId . '" style="color:' . $itineraryTextColor . '; font…
2871 …$html .= '<span style="color:' . $itineraryTextColor . '; font-size:8px; font-weight:700; letter-s…
2872 $html .= '</div>';
2875 …$html .= '<div id="itinerary-content-' . $calId . '" style="transition:max-height 0.3s ease-out, o…
2879 …$html .= $this->renderSidebarSection('Today', $todayEvents, $todayColor, $calId, $themeStyles, $th…
2884 …$html .= $this->renderSidebarSection('Tomorrow', $tomorrowEvents, $tomorrowColor, $calId, $themeSt…
2889 …$html .= $this->renderSidebarSection('Important Events', $importantEvents, $importantColor, $calId…
2894 …$html .= '<div style="padding:8px; text-align:center; color:' . $themeStyles['text_dim'] . '; font…
2897 $html .= '</div>'; // Close itinerary-content
2906 $html .= '<script>
2952 $html .= '</div>';
2955 $html .= $this->renderEventDialog($calId, $namespace, $theme);
2958 $html .= '<script>
2997 return $html;
3008 …$html = '<div style="display:grid; grid-template-columns:repeat(7, 1fr); gap:1px; background:' . $…
3052 …$html .= '<div style="background:' . $bgColor . '; padding:4px 2px; text-align:center; min-height:…
3056 …$html .= '<div style="font-size:9px; color:' . $dayLetterColor . '; font-weight:500; font-family:s…
3059 …$html .= '<div style="font-size:12px; color:' . $textColor . '; font-weight:' . $fontWeight . '; m…
3068 …$html .= '<div style="height:2px; background:' . htmlspecialchars($color) . '; margin:1px 0; borde…
3074 …$html .= '<div style="font-size:7px; color:' . $moreTextColor . '; margin-top:1px; font-family:sys…
3078 $html .= '</div>';
3081 $html .= '</div>';
3097 …$html .= '<div id="selected-day-events-' . $calId . '" style="display:none; margin:8px 4px; border…
3099 …$html .= '<div style="background:' . $panelHeaderBg . '; color:' . $panelHeaderColor . '; padding:…
3100 $html .= '<span id="selected-day-title-' . $calId . '"></span>';
3101 …$html .= '<span onclick="document.getElementById(\'selected-day-events-' . $calId . '\').style.dis…
3103 …$html .= '<div style="background:' . $panelHeaderBg . ' !important; color:' . $panelHeaderColor . …
3104 $html .= '<span id="selected-day-title-' . $calId . '"></span>';
3105 …$html .= '<span onclick="document.getElementById(\'selected-day-events-' . $calId . '\').style.dis…
3107 $html .= '</div>';
3108 …$html .= '<div id="selected-day-content-' . $calId . '" style="padding:4px 0; background:' . $pane…
3109 $html .= '</div>';
3112 $html .= '<script>';
3115 $html .= 'window.weekEventsData_' . $jsCalId . ' = ' . json_encode($weekEvents) . ';';
3133 $html .= 'window.themeColors_' . $jsCalId . ' = ' . $jsThemeColors . ';';
3134 $html .= '
3234 $html .= '</script>';
3236 return $html;
3302 …$html = '<div style="display:flex; margin:8px 4px; box-shadow:' . $sectionShadow . '; background:'…
3303 … $html .= '<div style="width:3px; flex-shrink:0; background:' . $borderColor . ';"></div>';
3304 $html .= '<div style="flex:1; min-width:0;">';
3306 …$html = '<div style="border-left:3px solid ' . $borderColor . ' !important; margin:8px 4px; box-sh…
3315 …$html .= '<div style="background:' . $accentColor . '; color:' . $headerTextColor . '; padding:4px…
3318 …$html .= '<div style="background:' . $accentColor . ' !important; color:' . $headerTextColor . ' !…
3320 $html .= htmlspecialchars($title);
3321 $html .= '</div>';
3324 $html .= '<div style="padding:4px 0;">';
3327 …$html .= $this->renderSidebarEvent($event, $calId, $showDate, $accentColor, $themeStyles, $theme, …
3330 $html .= '</div>';
3331 $html .= '</div>';
3333 $html .= '</div>'; // Close flex wrapper
3336 return $html;
3416 …$html = '<div style="padding:4px 6px; border-bottom:1px solid ' . $borderColor . ' !important; fon…
3420 …$html .= '<div style="width:3px; align-self:stretch; background:' . $eventColor . '; border-radius…
3423 $html .= '<div style="flex:1; min-width:0;">';
3426 …$html .= '<div style="font-weight:600; color:' . $titleColor . '; word-wrap:break-word; font-famil…
3430 …$html .= '<span style="color:' . $timeColor . '; font-weight:500; font-size:9px;">' . htmlspecialc…
3437 … $html .= '<span style="font-size:11px; color:' . $checkColor . ';">' . $checkIcon . '</span> ';
3442 $html .= '<span style="font-size:9px;" title="Important">⭐</span> ';
3445 $html .= $title; // Already HTML-escaped on line 2625
3450 …$html .= ' <span class="event-conflict-badge" style="font-size:10px;" data-conflicts="' . $conflic…
3453 $html .= '</div>';
3462 …$html .= '<div style="font-size:8px; color:' . $dateColor . '; font-weight:500; margin-top:2px; ' …
3465 $html .= '</div>';
3466 $html .= '</div>';
3468 return $html;