Cause: vendor/autoload.php is missing. This happens with a Git clone, because vendor/ is not in the repository.
Solution: Run composer install --no-dev in the plugin folder or use the release ZIP (see Installation).
Symptoms:
<!-- Custom CSS Loader Plugin --> block.Check:
<osTicket root directory>/assets/custom/css/ and does it end in .css (lowercase)?staff or client? Without one of them the file is ignored._ and -. Blocked names appear in the PHP error log as Invalid filename blocked.chmod 644)?</head>? Without this tag nothing is inserted.!important or a more specific selector.?v= with the modification time. Do a hard reload.The first match wins, and staff is checked before client. A name like client-staff.css therefore counts as a staff file. Rename the file so that only one of the terms occurs.
The web server user is not allowed to write in the osTicket root directory. Create the folder manually:
mkdir -p /path/to/osticket/assets/custom/css
chmod 755 /path/to/osticket/assets/custom/css
The plugin only copies on activation and only if the folder contains no .css file yet. Copy the files you want from include/plugins/custom-css-loader/assets/demo/ by hand.
Does the plugin change osTicket files?
No. The link tags are inserted into the page through output buffering.
Do I lose my CSS files when deactivating?
No. Deactivating and updating leave the assets/custom/css/ folder untouched.
Does the plugin affect the API?
No, no CSS is inserted for calls under /api/.
Which versions are required?
osTicket 1.17 or newer and PHP 8.1 or newer. The CI runs the tests with PHP 8.1 to 8.4.