Description:
After installing seiger/sGallery, the gallery tab in the Evolution CMS manager causes two separate issues:
- The module loads
Tailwind, Alertify, and Sortable from external CDN URLs.
- The “Image Library” button is wired to a
label, but BrowseServer() in Evolution CMS writes the selected file path into an input.
When the CDN assets are not available, the gallery modal styling breaks: the hidden state is not applied correctly and the modal becomes a large black overlay covering the manager UI. In addition, the JavaScript can fail because Sortable and/or alertify are undefined.
The second issue is that choosing a file from the built-in Evolution file browser does not reach the gallery upload handler, because BrowseServer() expects a real input field, not a label element. As a result, selecting an image from the library does nothing.
What I observed:
- The gallery tab layout becomes broken.
- A large black modal overlay appears over the manager.
- The JS may stop working if CDN scripts fail to load.
- Clicking “Бібліотека зображень” does not correctly pass the selected file into the gallery.
- The browser selection does not trigger
doEvoLibrary() as expected.
Expected behavior:
- The gallery should work without external CDN dependencies.
- The modal should stay hidden until explicitly opened.
- Missing third-party scripts should not break the entire manager UI.
- The “Image Library” button should correctly open the Evolution browser and send the selected file path into the gallery handler.
- Selecting a file from the library should add the file to the gallery.
Actual behavior:
- The gallery depends on external CDN resources for styling and JS.
- When CDN resources are unavailable, the modal overlay breaks the page layout.
Sortable and alertify can fail to load, which breaks interactivity.
- The “Бібліотека зображень” control does not behave like a proper input target, so file selection is not handled correctly.
Steps to reproduce:
- Install
seiger/sGallery.
- Open a resource that contains the gallery tab.
- Disconnect or block access to the CDN resources used by the plugin.
- Open the gallery tab or trigger the modal.
- Observe that the modal overlay covers the manager and the UI becomes broken.
- Click “Бібліотека зображень”.
- Choose a file in the Evolution browser.
- Observe that the chosen file does not get passed into the gallery flow correctly.
Suggested fix:
- Remove the hard dependency on CDN-hosted Tailwind, Alertify, and Sortable.
- Bundle or locally ship required assets with the plugin.
- Add safe fallbacks if
Sortable or alertify are missing.
- Make the “Image Library” control target a real
input element instead of a label.
- Ensure
BrowseServer() writes the selected file path into an actual hidden input that triggers doEvoLibrary().
- Prevent the modal from becoming visible if the required CSS/JS is not loaded.
Screenshots:

Description:
After installing
seiger/sGallery, the gallery tab in the Evolution CMS manager causes two separate issues:Tailwind,Alertify, andSortablefrom external CDN URLs.label, butBrowseServer()in Evolution CMS writes the selected file path into aninput.When the CDN assets are not available, the gallery modal styling breaks: the
hiddenstate is not applied correctly and the modal becomes a large black overlay covering the manager UI. In addition, the JavaScript can fail becauseSortableand/oralertifyare undefined.The second issue is that choosing a file from the built-in Evolution file browser does not reach the gallery upload handler, because
BrowseServer()expects a real input field, not a label element. As a result, selecting an image from the library does nothing.What I observed:
doEvoLibrary()as expected.Expected behavior:
Actual behavior:
Sortableandalertifycan fail to load, which breaks interactivity.Steps to reproduce:
seiger/sGallery.Suggested fix:
Sortableoralertifyare missing.inputelement instead of alabel.BrowseServer()writes the selected file path into an actual hidden input that triggersdoEvoLibrary().Screenshots: