Commit Graph

97 Commits

Author SHA1 Message Date
Squidly271
1859921036 Fix: GUI Search wouldn't update when plugin uninstalled 2025-11-09 13:52:27 -05:00
Squidly271
3c71758fc1 Adjust logging of inline FILE execution 2025-10-14 13:25:32 -04:00
Squidly271
7033b75ee7 Revert a different fix WIP 2025-09-20 18:02:45 -04:00
Squidly271
1386f87681 Update Plugins.page 2025-09-20 18:00:56 -04:00
tom mortensen
7debbde5da Merge pull request #2372 from Squidly271/patch-2
Fix PHP errors if file doesn't exist my_parse_ini_file
2025-09-16 21:34:26 -07:00
Squidly271
94425ec961 Fix PHP error 2025-09-16 20:25:28 -04:00
Squidly271
ab9c4a34a0 Update PluginHelpers.php 2025-09-16 13:25:43 -07:00
Eli Bosley
c364912d08 fix: searchlink can error in the plugin check
The error occurred because of how searchLink() is called on line 49:

  if ($support = searchLink($info, $url) ?: searchLink($info, newurl($url))) {

  Here's the sequence of events that caused the issue:

  1. First call: searchLink($info, $url) - This works fine if $info contains the JSON data from
  /tmp/community.applications/tempFiles/templates.json
  2. If first call returns falsy: The ?: operator (shorthand ternary) triggers the second call:
  searchLink($info, newurl($url))
  3. The problem: When the first searchLink() returns null or false, PHP's ?: operator evaluates
  the second expression. However, if $info itself is null (which can happen if the JSON file
  doesn't exist or is empty - see line 19 where readJson() returns [] for missing files), then
  searchLink(null, newurl($url)) is called.
  4. The crash: Inside searchLink(), when $db is null, calling count($db) throws the TypeError
  because count() requires an array or Countable object, not null.

  Root causes:
  - The JSON file at /tmp/community.applications/tempFiles/templates.json might not exist or could
  be corrupted
  - The readJson() function returns an empty array [] for missing files, but if the JSON decode
  fails, it could return null
  - The code wasn't defensive against null values being passed to searchLink()

  The fix adds is_array($db) check to ensure we only attempt to count when we have a valid array.
2025-09-02 10:46:46 -04:00
Squidly271
173c388b0f Refactor: Don't time out on scripts that can continue in background and auto exit when finished 2025-08-13 22:56:45 -04:00
Squidly271
a2c5176da4 Add comment 2025-07-27 20:07:50 -04:00
Squidly271
4aaf107737 Refactor: Remove support for plg update check element
Leave code just in case
2025-07-27 20:05:16 -04:00
ljm42
6d6862fd0f refactor: use shared nchan publish function 2025-07-24 13:42:10 -07:00
tom mortensen
02f57bdee6 Revert "Revamp: Revised language support" 2025-07-17 14:21:28 -07:00
Andrew Z
913bac09f6 Revamp: Revised language support 2025-07-16 12:39:18 -04:00
Tom Mortensen
2749051c73 banish dynamix.my.servers from webGUI repo 2025-06-28 10:47:03 -07:00
Zack Spear
1cfb996852 style: update plugin tree overflow property for improved scrolling
- Changed overflow property of the plugin tree from 'overflow-y-scroll' to 'overflow-y-auto' to enhance the scrolling experience
2025-06-12 14:50:18 -07:00
Zack Spear
bbd547235c refactor: consolidate .ca_element_notice styles into default-base.css
- Merged styles from the deleted PluginHelpers.css into default-base.css.
- Updated .upgrade_notice and .ca_element_notice styles for consistency.
- Added padding to .bannerInfo and adjusted related selectors for improved layout.
2025-06-10 14:53:26 -07:00
Zack Spear
d9963cb51e style: enhance plugin installation page and improve file selection handling
- Updated the plugin installation page to provide a console warning when no plugin file is selected, improving user feedback.
- Added a file tree for easier selection of plugin files, enhancing user experience during plugin installation.
- Adjusted the form layout for better alignment and consistency.
2025-05-29 14:13:01 -07:00
Zack Spear
a65c442db9 fix: enhance layout consistency in PluginInstall.page and default-base.css
- Added utility classes for width, height, and overflow to improve layout structure in PluginInstall.page.
- Removed the obsolete Plugins.css file as its styles are no longer needed.
- This change continues the effort to enhance visual consistency across the plugin.
2025-05-21 16:52:34 -07:00
Zack Spear
1aa7db9d9f style: enhance PluginInstall.page layout for improved clarity
- Wrapped input fields and labels in <div> elements for better structure and responsiveness.
- Updated headings to use <p><strong> for improved semantic clarity.
- This change aligns with previous updates for consistent layout across similar components.
2025-05-09 14:32:04 -07:00
Zack Spear
a8f432058f style: refactor table structure across multiple pages for scrollable layout on smaller screen sizes
- Wrapped tables in a <div> with class "TableContainer" for better responsiveness.
- Ensured consistent styling and structure across ArrayDevices.page, BootDevice.page, DiskList.page, ShareList.page, DockerContainers.page, Plugins.page, and VMMachines.page.
- Updated CSS to support new table container classes for enhanced layout control.
2025-05-08 18:53:53 -07:00
Zack Spear
892f430d37 style: clean up Plugins.css by removing unnecessary styles
- Removed commented-out styles for .Theme--black and .Theme--white to streamline the CSS.
- Eliminated redundant margin-top adjustment in span.status.vhshift for improved layout clarity.
2025-05-08 17:32:48 -07:00
Zack Spear
3f46137605 fix: adjust cookie handling for scroll position in BodyInlineJS.php
- Modified the calculation of the 'top' variable to remove the offset adjustment, simplifying the logic.
- Ensured that the scroll position is set correctly based on the cookie value.

This change improves the handling of scroll position based on user preferences.
2025-05-07 11:08:25 -07:00
Zack Spear
04d5d3d238 chore: format force install checkbox label for better readability on plugin install page 2025-05-05 16:01:18 -07:00
Zack Spear
a2f013803f chore: force install checkbox title attr on plugin install page 2025-05-05 15:59:14 -07:00
Eli Bosley
1aaeefbc4f chore: newline 2025-04-28 16:18:46 -04:00
Eli Bosley
d2e05bfcbf chore: also enable submitting the form with enter key 2025-04-28 16:14:27 -04:00
Eli Bosley
5ddbb60122 feat: add force checkbox to plugin install page 2025-04-28 16:09:23 -04:00
tom mortensen
5185880e69 Merge pull request #1748 from unraid/feat/css3-variables
feat: CSS3 variables & improved CSS dev experience
2025-04-02 11:20:47 -07:00
Zack Spear
97535ca200 style: remove duplicated theme-specific CSS files and consolidate styles into Plugins.css for improved maintainability 2025-03-31 19:25:19 -07:00
Zack Spear
16a647d1c8 Merge branch 'master' into feat/css3-variables 2025-03-31 11:44:47 -07:00
Zack Spear
14e0fed12a fix: patch version override logic incorrect 2025-03-27 14:37:49 -07:00
Zack Spear
e520da4a6a feat: aligns shared page, php, & scripts + web components new location with api repo changes 2025-03-27 13:24:56 -07:00
bergware
5e5d5ba6ea Plugins: style layout fix 2025-03-26 17:17:34 +01:00
bergware
979df0bef1 Plugins: style layout fix 2025-03-26 17:12:47 +01:00
Zack Spear
6a3d9c96f8 feat: enhance UnraidCheckExec security
* Added security headers to the setupEnvironment method for improved security.
* Implemented stricter validation for the altUrl parameter to ensure it matches allowed domains and uses HTTPS.
* Enhanced script execution checks to validate permissions before running the unraidcheck script.
2025-03-21 14:13:38 -07:00
Zack Spear
116732fab7 feat: UnraidCheckExec for calling unraidcheck from web components
* Added `UnraidCheckExec` class to handle execution of the unraidcheck script and return JSON responses.
* Updated the unraidcheck script to parse query parameters for better integration with web components.
* This change maintains separation of concerns between UnraidCheck and ReplaceKey functionalities.
2025-03-20 17:34:24 -07:00
Zack Spear
f6aa74c264 feat: Integrate ReplaceKey functionality across multiple pages
* Added `ReplaceKey` initialization and check to `Registration.page`, `Downgrade.page`, `Update.page`, and `unraidcheck` script.
* Ensures consistent handling of key replacement across relevant components.
2025-03-20 14:52:29 -07:00
Squidly271
04d497c240 Fix: Disallow HTML in plugin attributes 2025-03-12 20:07:15 -04:00
dlandon
4ee09043ac Fix php warning when file does not exist. 2025-02-17 08:15:09 -06:00
SimonFair
80d567dfde killall and pgrep updates.
Set --ns $$ on commands.
2024-10-10 19:18:54 +01:00
Zack Spear
f4195c6b40 refactor: docker.plugin.manager Update css condense files 2024-07-08 11:53:13 -07:00
Zack Spear
b2214d7a25 refactor: docker.plugin.manager PluginHelpers css format 2024-07-08 11:53:13 -07:00
Zack Spear
30ecc5c91e refactor: docker.plugin.manager css format 2024-07-08 11:53:13 -07:00
Zack Spear
45308bc7cb feat: web component enhancements 2024-05-14 16:16:26 -07:00
ljm42
537149f206 Use Curl for network connectivity checks 2024-03-24 14:59:03 -07:00
ljm42
0b7f980e97 introduce http_get_contents wrapper for Curl 2024-03-24 14:17:09 -07:00
tom mortensen
614826552f Merge pull request #1675 from unraid/add-proxy
Add outgoing proxy support
2024-03-23 08:43:55 -07:00
ljm42
b69564caed tidy 2024-03-19 11:56:13 -07:00
ljm42
cb84d60e00 Remove special handling for file_get_contents(), use libcurl instead 2024-03-19 11:52:59 -07:00