| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Add tests using PHPUnitHEADmaster | Simon Rettberg | 3 hours | 52 | -16/+3245 |
| | | | | | | | | Tests generated by Junie AI. Might not have the best possible quality but at least we got something, and if it turns out to be complete rubbish, we can just throw it out again without any issues, as this is independent of the actual code base. | ||||
| * | [exams] Fix incorrect count() clause | Simon Rettberg | 8 days | 1 | -2/+2 |
| | | | | | Again found by tests created by Junie AI | ||||
| * | [locations] Fix falsy checks | Simon Rettberg | 9 days | 1 | -6/+6 |
| | | | | | Thanks Junie AI | ||||
| * | [inc/IpUtil] Fix bug in CIDR verification | Simon Rettberg | 2025-11-26 | 1 | -2/+2 |
| | | |||||
| * | [roomplanner] Fix snap-to-grid behavior | Simon Rettberg | 2025-11-14 | 1 | -12/+29 |
| | | | | | | | | | Problem found by AI, yay to our AI overlords: - Different rounding methods used in getCellPositionFromPixels vs. grid option passed to draggable component - Wrong casing used for gridRow and gridCol in one place | ||||
| * | [roomplanner] Add some phpdoc | Simon Rettberg | 2025-11-14 | 1 | -1/+17 |
| | | |||||
| * | [webinterface] acme: Move harica first | Simon Rettberg | 2025-11-07 | 1 | -1/+1 |
| | | |||||
| * | [webinterface] acme: Remove buypass, update harica URL | Simon Rettberg | 2025-11-07 | 1 | -2/+1![]() |
| | | |||||
| * | [sysconfig] Shibauth: Add option to require entitlement(s) for login | Simon Rettberg | 2025-08-20 | 5 | -10/+47 |
| | | | | | To be implemented on client-side. | ||||
| * | [locationinfo] Fix undefined array key access | Simon Rettberg | 2025-08-13 | 1 | -0/+1 |
| | | |||||
| * | [systemstatus] Remove debug message | Simon Rettberg | 2025-08-13 | 1 | -1/+0![]() |
| | | |||||
| * | [webinterface] Switch type to acme only after successfully requesting cert | Simon Rettberg | 2025-08-13 | 2 | -5/+11 |
| | | |||||
| * | [sysconfig] Minor cleanup, response code overrides for audit | Simon Rettberg | 2025-08-13 | 2 | -19/+23 |
| | | |||||
| * | [eventlog] Add button to create event filter | Simon Rettberg | 2025-08-13 | 1 | -0/+6 |
| | | |||||
| * | [baseconfig] Add button to create filter rule | Simon Rettberg | 2025-08-12 | 1 | -1/+4 |
| | | |||||
| * | [baseconfig] Fix comments | Simon Rettberg | 2025-08-12 | 1 | -2/+2 |
| | | |||||
| * | [webinterface] Add support for HARICA and custom URLs | Simon Rettberg | 2025-08-12 | 7 | -8/+80 |
| | | |||||
| * | [locationinfo] Update HisInOne title cleanup regex | Simon Rettberg | 2025-08-07 | 1 | -1/+1 |
| | | |||||
| * | [locationinfo] Overhaul caching and prefetching of calendars | Simon Rettberg | 2025-08-07 | 9 | -105/+145 |
| | | | | | | | | | | Prefetching of calendars now happens asynchronously in the background, for all calendars that are still being displayed somewhere, and where a certain age threshold is reached. This avoids slow and seemingly hanging requests for updated calendar data, and for panels that are often requested ad-hoc by users it increases chances that the calendar can be served from cache. | ||||
| * | [syslog] Improve POSTs for audit logging | Simon Rettberg | 2025-08-07 | 4 | -24/+29 |
| | | |||||
| * | JS: Reorganize script to lower number of ready listeners | Simon Rettberg | 2025-08-07 | 1 | -91/+91 |
| | | |||||
| * | Ignore KG2-specific files | Simon Rettberg | 2025-08-07 | 2 | -1/+8 |
| | | |||||
| * | api/cron: Add log line when job finished successfully | Simon Rettberg | 2025-08-07 | 1 | -1/+2 |
| | | |||||
| * | [exams] Remove db error checks, add POST redirect, response code | Simon Rettberg | 2025-08-07 | 1 | -19/+17![]() |
| | | | | | | | | | - Error checks for DB queries are pointless; the DB functions call an error handler by default and do not return - Add a redirect if any of the handlers in doPreprocess return and we're in a POST request as a safety measure - Fix virtual HTTP response code when editing lecture | ||||
| * | [session] audit: Use pagination | Simon Rettberg | 2025-08-05 | 2 | -5/+9 |
| | | |||||
| * | [session] Show pointer when over audit payload data | Simon Rettberg | 2025-08-04 | 1 | -1/+1 |
| | | | | | Indicate the text can be clicked to view in a popup. | ||||
| * | A few more HTTP code audit log fixups | Simon Rettberg | 2025-08-04 | 6 | -5/+12 |
| | | |||||
| * | Implicitly nullable types are deprecated in PHP 8.3, make explicit | Simon Rettberg | 2025-08-01 | 31 | -57/+54![]() |
| | | |||||
| * | [minilinux] show -> action for POST actions | Simon Rettberg | 2025-07-31 | 2 | -2/+2 |
| | | |||||
| * | [locationinfo] Don't fetch ALL calendars when using cache | Simon Rettberg | 2025-07-31 | 1 | -2/+6 |
| | | |||||
| * | [locationinfo] Make sure older browsers work by using proper JavaScript | Simon Rettberg | 2025-07-25 | 6 | -77/+98 |
| | | | | | | Not funny made-up words like async and let and random keyboard smashing of the "." key. | ||||
| * | [roomplanner] Add type annotations, change falsable -> nullable | Simon Rettberg | 2025-07-24 | 8 | -74/+67![]() |
| | | |||||
| * | [minilinux/rebootcontrol/statistics] Refactor to better suit audit logging | Simon Rettberg | 2025-07-24 | 6 | -27/+54 |
| | | |||||
| * | [locationinfo] Fix saving DEFAULT panel name; bail out if timeout exceeded | Simon Rettberg | 2025-07-24 | 2 | -1/+3 |
| | | |||||
| * | [roomplanner] Initialize with empty roomplan if none exists | Simon Rettberg | 2025-07-24 | 1 | -0/+3 |
| | | |||||
| * | [locations] Fix inverted logic bug | Simon Rettberg | 2025-07-24 | 1 | -1/+1 |
| | | |||||
| * | [session] Add audit log view | Simon Rettberg | 2025-07-23 | 12 | -22/+175 |
| | | | | | Basic 1st version :) | ||||
| * | [baseconfig_bwlp/syslog] Update translations | Simon Rettberg | 2025-07-21 | 6 | -0/+8 |
| | | |||||
| * | [baseconfig_bwlp] Add SLX_PHYSICAL_SCREEN | Simon Rettberg | 2025-07-21 | 1 | -0/+6 |
| | | |||||
| * | [locationinfo] Parametrize panel type configuration | Simon Rettberg | 2025-07-18 | 14 | -943/+540![]() |
| | | | | | | | | | | | | | | | | | | Avoids a lot of copy and paste and duplicate work in php and html part, for example explicitly handling every config variable for a specific panel when displaying the config dialog, when saving the config, and when loading the config for displaying the panel. This also parametrizes enums, limits and ranges, so dropdowns can be rendered automatically, validity of selected option can be checked, and putting numeric settings into bounds all happens generically. Edit dialog for DEFAULT panel is still completely custom, as it has too much special sauce going on with the room config overrides. URL-panel is half-half, but SUMMARY and UPCOMING are entirely generic now. | ||||
| * | [locationinfo] Add UPCOMING panel type | Simon Rettberg | 2025-07-14 | 24 | -427/+1458 |
| | | |||||
| * | [locationinfo] Remove debug spam | Simon Rettberg | 2025-07-14 | 1 | -1/+0![]() |
| | | |||||
| * | [locations] Location::getLocations(): Add "checked" string for convenience | Simon Rettberg | 2025-07-08 | 1 | -0/+2 |
| | | |||||
| * | [locations] Cleanup Location class | Simon Rettberg | 2025-07-07 | 23 | -309/+292![]() |
| | | | | | | | | | | | There was a mess of functions which mostly, but not quite, did the same things. Get rid of a couple of them and fix call sites to use alternative ones that also fit the job. While at it, add phpdoc and comments to the remaining functions, trying to clarify what they were designed for. Lastly, the return type of functions that retrieve a location id has been changed from false|int to ?int (nullable types are just nicer). | ||||
| * | [locations] Copy permissions to children when deleting location | Simon Rettberg | 2025-07-04 | 1 | -6/+21 |
| | | | | | | | When deleting a location without recusively deleting its children too, copy all the permissions assigned to the location in question to all its child locations. | ||||
| * | [locationinfo] Work around HisInOne returning incomplete iCal files | Simon Rettberg | 2025-07-01 | 3 | -13/+81 |
| | | | | | | | | | | | | | | | While the HisInOne help text says: Die Permalinks zu Raumbelegungsplänen und Veranstaltungen enthalten den Semesterbezug (currentTimeId oder periodId). Bei Bedarf entfernen Sie diese Einschränkung inklusive "&" vorne und aller Zeichen dahinter. This is evidently not true. Requesting the iCal URL without the periodId leaves out random courses/events/lectures, and event requesting with the current periodId might not give you the full results as displayed by the web interface. Add crude brute-force approach that will request multiple periodIds and merge all the lectures found. | ||||
| * | [locationinfo] icalparser: Undo the entity encoding before returning iCal data | Simon Rettberg | 2025-07-01 | 1 | -0/+12 |
| | | |||||
| * | [serversetup-bwlp-ipxe] Remove unused function | Simon Rettberg | 2025-05-26 | 1 | -5/+0![]() |
| | | |||||
| * | [serversetup-bwlp-ipxe] Set menu timeout to 1 second in exam mode | Simon Rettberg | 2025-05-26 | 1 | -1/+6 |
| | | |||||
| * | [syslog/eventlog] Allow creating filter rule based on client log entry | Simon Rettberg | 2025-05-22 | 4 | -26/+59 |
| | | |||||

