summaryrefslogtreecommitdiffstats
path: root/modules-available/locationinfo
Commit message (Collapse)AuthorAgeFilesLines
* [locationinfo] Revert HisInOne calendar workaroundHEADmasterSimon Rettberg2026-01-282-71/+7Star
| | | | | | The hack introduced in 87686da817dfd349c9f89a01065f799408e29f10 to work around HisInOne returning incomplete data in ical files is obsolete, now that HisInOne seems to have fixed this bug.
* [locationinfo] Tweak panel list layoutSimon Rettberg2026-01-201-6/+6
|
* [locationinfo] Add panel query API, add option to mark panels as publicSimon Rettberg2026-01-2010-7/+74
| | | | | | This adds the option to query a JSON of all available info panels. In addition, info panels can be marked as public/private, and only public panels will be returned in the JSON.
* [locationinfo] Fix undefined array key accessSimon Rettberg2025-08-131-0/+1
|
* [locationinfo] Update HisInOne title cleanup regexSimon Rettberg2025-08-071-1/+1
|
* [locationinfo] Overhaul caching and prefetching of calendarsSimon Rettberg2025-08-079-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.
* Implicitly nullable types are deprecated in PHP 8.3, make explicitSimon Rettberg2025-08-014-7/+4Star
|
* [locationinfo] Don't fetch ALL calendars when using cacheSimon Rettberg2025-07-311-2/+6
|
* [locationinfo] Make sure older browsers work by using proper JavaScriptSimon Rettberg2025-07-256-77/+98
| | | | | Not funny made-up words like async and let and random keyboard smashing of the "." key.
* [locationinfo] Fix saving DEFAULT panel name; bail out if timeout exceededSimon Rettberg2025-07-242-1/+3
|
* [locationinfo] Parametrize panel type configurationSimon Rettberg2025-07-1813-941/+531Star
| | | | | | | | | | | | | | | | | 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 typeSimon Rettberg2025-07-1419-401/+1388
|
* [locationinfo] Remove debug spamSimon Rettberg2025-07-141-1/+0Star
|
* [locations] Cleanup Location classSimon Rettberg2025-07-074-48/+23Star
| | | | | | | | | | 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).
* [locationinfo] Work around HisInOne returning incomplete iCal filesSimon Rettberg2025-07-013-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 dataSimon Rettberg2025-07-011-0/+12
|
* Add audit logging of POST actionsSimon Rettberg2025-05-221-4/+4
|
* [locationinfo] URLpanel: Browser accept-language and screen rotationSimon Rettberg2025-05-205-2/+71
| | | | | Add configuration options to specify screen rotation and languages the browser will request from web servers via Accept-Language header.
* [locationinfo] Add easter-egg to download WebApkSimon Rettberg2025-05-091-2/+57
| | | | | Clicking the sear counter 8 times triggers generation and download of an APK that will display the panel in full screen when installed.
* [locationinfo] Don't supply ' ' for empty black/whitelistSimon Rettberg2025-04-141-1/+1
|
* [locationinfo] Add web application manifestSimon Rettberg2025-04-013-4/+52
|
* [locationinfo] Change $forceCached to a flexible timeout approachSimon Rettberg2025-02-139-25/+47
| | | | | | We can now give a precise deadline until which the backend(s) will try to update stale calendar data, and just return cached data for all the entries where no time was left.
* [locationinfo] Remove redundant checkSimon Rettberg2024-11-141-7/+5Star
|
* [locationinfo] Put upgrade/cleanup code in distinct function and extendSimon Rettberg2024-11-143-15/+39
|
* [locationinfo] BRAINDEADSimon Rettberg2024-11-131-1/+3
|
* [locationinfo] Fix styleSimon Rettberg2024-11-131-1/+1
|
* [locationinfo] Add support for FirefoxSimon Rettberg2024-11-136-104/+151
|
* [locationinfo] Handle invalid UTF8 by sanitizing through iconvSimon Rettberg2024-06-261-0/+1
|
* [locationinfo] Fix machine state updatingSimon Rettberg2023-12-141-2/+2
|
* Fix more type errors, stricter typingSimon Rettberg2023-11-152-5/+2Star
|
* [locationinfo] Fix infoscreen after type annotation updateSimon Rettberg2023-11-151-2/+2
|
* Add function param/return types, fix a lot more phpstorm complaintsSimon Rettberg2023-11-1413-88/+82Star
|
* [locationinfo] Fix crash with null-deref in exchange backendSimon Rettberg2023-11-141-13/+15
|
* Roundup of issues reported by PHPStormSimon Rettberg2023-11-026-59/+41Star
| | | | Mostly redundant checks, logic errors, dead code, etc.
* [locationinfo] text-muted for "inherited" up-arrowSimon Rettberg2023-10-065-288/+308
|
* [locationinfo] HiS: ID-regex for title was apparently to shortSimon Rettberg2023-04-171-1/+1
|
* [locationinfo] Fix: Panels with deleted rooms are invisible in listSimon Rettberg2023-03-291-4/+15
|
* [locationinfo] Change "broken" timeout from 21 to 30 daysSimon Rettberg2023-01-051-1/+1
|
* [locationinfo] Add Slider to configure browser zoom in URL panelSimon Rettberg2022-12-066-4/+39
| | | | Closes #3915
* [locationinfo] Minor JS tweaksSimon Rettberg2022-12-051-6/+6
|
* [locationinfo] Workaround calendar scrolling to wrong daySimon Rettberg2022-12-021-3/+11
|
* [statistics] Per-location usage stats; include active lecture countSimon Rettberg2022-12-022-67/+101
|
* [locationinfo] Proper handling/setting auf SLX_AUTOLOGINSimon Rettberg2022-09-301-3/+4
| | | | Enabled should be 'ON', not '1' (even though 1 works for now)
* [locationinfo] Disable shutdown timeout if autologin is enabledSimon Rettberg2022-09-301-0/+3
| | | | | | | | | This is probably only accidentally enabled (from location), as an info-panel is always idle and would then probably shutdown frequently. It currently didn't happen because we already clear the logout timeout, and the shutdown timeout only starts running at the login screen. But we want to change that for when we use autologin manually, or in case of an exam.
* [locationinfo] Better explanation of "interactive mode" (URL panel)Simon Rettberg2022-06-032-4/+4
|
* [locationinfo] Add typesSimon Rettberg2022-05-239-79/+68Star
|
* [locationinfo] His: Remove lecture IDs from event namesSimon Rettberg2022-05-132-3/+13
|
* [inc/Util] Add types, move error printing functions to their own classSimon Rettberg2022-05-021-1/+1
|
* Moderize Database handlingSimon Rettberg2021-05-114-11/+11
| | | | | | | * Auto-convert to utf8mb4_unicode_520_ci * Use foreach instead of while to loop over results * Drop useless statement caching * Keep emulated prepares, as we sometimes loop over nested queries
* [locationinfo] Add missing default keys for panelsSimon Rettberg2021-05-061-0/+2
|