johnnyq
|
6ecc27e7ca
|
Version ITFlow's scripts and stylesheets so browsers fetch the new copies after an update instead of needing a cache clear: add staticFileUrl() in functions/app.php, which adds ?v= and the file's modification time to the address, and send every script and stylesheet tag through it, libs included, with page-relative addresses changed to start from the site root; add js/tinymce_defaults.js to set TinyMCE's cache_suffix so the plugins, theme and skins it loads itself are versioned too; load ticket collision detection only when a ticket is shown, so a ticket that isn't found no longer throws a script error; add changelog entries and a CONTRIBUTING rule that new tags must use staticFileUrl()
|
2026-11-09 01:22:35 -05:00 |
|
johnnyq
|
3b5c11c552
|
Add managed mode, so one ITFlow can manage others - Admin > Managed Instances adds an instance and gives a one-time connection code (a week) that the other ITFlow pastes into the new Admin > Managed By, after which it checks in every minute from the new Manager Check-in cron job with a health report (versions, update waiting and whether it has security fixes, cron, last backup, errors today, agents against the seat limit, clients, storage) and takes back what the manager sets; the manager lists each instance's version, health, seats and last check-in with a page per instance showing what needs a look, its requests and everything it reported, can update it by hand or automatically after a set number of days (security releases straight away, not retried for six hours after a failure), set its seat limit and white-label key (locked on the instance while set), make it read-only (look, export and download only, across agents, portal, guest links and the API) or suspended (a notice with the manager's message and contact, 503 for the API) with other cron jobs paused until it is active again, sign in to it as support through a signed one-time two-minute link into a two-hour session that takes no seat, can't open the vault and can't set passwords or make API keys, and remove it, while the new Managed Instances job notifies when one stops checking in and closes requests never answered; instances only call the manager, can disconnect unless config.php sets $config_manager_required, and the Update page and queue_update defer to the manager; database 3.5.8 adds managed_instances, managed_instance_commands, settings.config_manager_keys and settings.config_managed, the logic is in the new functions/managed.php with api/managed/enroll.php, api/managed/checkin.php, login_support.php and includes/managed_blocked.php, cronJobClaim() takes a paused reason that leaves a due job due, getAgentUserLimit() and getActiveAgentUserCount() honour the manager's limit and leave out the support user, the vault helpers read a missing session key as empty, the audit log knows the new types and actions, and the email parser no longer logs an App Logs error every minute while parsing is switched off; changelog updated
|
2026-11-05 15:22:41 -05:00 |
|
johnnyq
|
d7bc1bccf7
|
Make Maintenance > Update easier to follow - it opens with where the install stands (up to date, an update available, updating, the database still to finish, checking) and the one button for it, Update ITFlow in place of Queue Update, with what's new below it (the release notes between this install and the latest, read from the changelog by the update check, developer notes and commits folded away), what to do first including the ITFlow files changed on this install that updating would put back, the update shown running with the page refreshing itself and then when it finished or what stopped it, and this install's version, branch, database, commit, last check, last update, cron and the command to update from a shell alongside; database 3.5.7 adds settings.config_update_details, written by cron/update_check.php through the new updateCheckDetails(), updateChangelogSections() and updateChangelogHtml() render the release notes escaped, cron/app_update.php asks for a fresh check after an update, changelog updated
|
2026-11-05 14:25:19 -05:00 |
|
johnnyq
|
069f587c1d
|
Implemented Check for updates which removs the last shell exec from web ui, and reimplemented db_update switch to update_cli.php
|
2026-08-26 23:38:23 -04:00 |
|
johnnyq
|
14c38b9814
|
Remove DB Update from WebUI as this is handled by the update_cli backend
|
2026-08-26 22:59:17 -04:00 |
|
johnnyq
|
51c925522c
|
Remove thr web updater this is now either queued from the web or ran from the shell to update
|
2026-08-26 22:53:29 -04:00 |
|
johnnyq
|
4c4c172f59
|
Feature: queued Updates which now eliminates the need for shell_exec from the webui, but if enabled you can still update from the webui the old way too
|
2026-08-15 16:41:42 -04:00 |
|
johnnyq
|
a084e37c39
|
Initial migration from AdminLTE 3 to 4, bootstrap 4 to 5
|
2026-08-14 13:22:11 -04:00 |
|
johnnyq
|
6b5be0f881
|
Rework Update UI and fix banch
|
2026-08-02 18:07:24 -04:00 |
|
johnnyq
|
b3f959ac55
|
Use Short echo tags across the code
|
2026-07-28 18:47:52 -04:00 |
|
johnnyq
|
8afc5aea89
|
Typo fix
|
2026-07-24 13:45:52 -04:00 |
|
johnnyq
|
dd358da65d
|
Update missing CSRF endpoint checks missed update_db
|
2026-07-24 13:22:17 -04:00 |
|
johnnyq
|
91a1676e89
|
Update missing CSRF endpoint checks
|
2026-07-24 13:16:51 -04:00 |
|
johnnyq
|
29a0b3ead8
|
Replace Function fetchUpdates() with checkForUpdates()
|
2026-07-14 17:31:54 -04:00 |
|
wrongecho
|
01f6615ca0
|
rm test
|
2025-10-06 16:13:08 +01:00 |
|
johnnyq
|
2333d81276
|
Update more broken links from file dirextory consolidation
|
2025-07-29 18:34:51 -04:00 |
|
johnnyq
|
9ee76213e1
|
Update more broken links from file dirextory consolidation
|
2025-07-29 14:32:43 -04:00 |
|
johnnyq
|
0494bfc1cf
|
Moved admin_ to /admin, user_ to user report_ to /reports each have their own post includes modals directories created seperate headers and footer. Also did the same for xcustom, more work to me done
|
2025-07-28 13:32:28 -04:00 |
|