Skip to content

Commit 11b7591

Browse files
Fix folder editor asset boot includes
1 parent f875112 commit 11b7591

6 files changed

Lines changed: 30 additions & 18 deletions

File tree

archive/folderview.plus-2026.03.27.10.txz.sha256

Lines changed: 0 additions & 1 deletion
This file was deleted.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
a3e1fdc0cc19a53b575dcedabf704f68fb73e091854e2f3f4753ab9db3f8e7ea folderview.plus-2026.03.29.09.txz

folderview.plus.plg

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,18 @@
66
<!ENTITY launch "Settings/FolderViewPlus">
77
<!ENTITY plugdir "/usr/local/emhttp/plugins/&name;">
88
<!ENTITY pluginURL "https://raw.githubusercontent.com/&github;/dev/folderview.plus.plg">
9-
<!ENTITY version "2026.03.29.08">
10-
<!ENTITY md5 "0adecf12cab94dea247535329443d9bb">
9+
<!ENTITY version "2026.03.29.09">
10+
<!ENTITY md5 "a16e5b9afe377656116605ea9a3c286d">
1111
]>
1212

1313
<PLUGIN name="&name;" author="&author;" version="&version;" launch="&launch;" pluginURL="&pluginURL;" icon="folder-icon.png" support="https://forums.unraid.net/topic/197631-plugin-folderview-plus/" min="7.0.0">
1414
<CHANGES>
1515

16+
###2026.03.29.09
17+
- Fix: Restore modern folder editor module loading after reinstall by replacing short-tag asset includes in Folder.page with explicit PHP autov tags.
18+
- Quality: Add a regression guard to keep Folder.page shared editor assets on explicit PHP include tags instead of short tags.
19+
20+
1621
###2026.03.29.08
1722
- Fix: Stop nested Docker parent previews from forcing WebUI, console, and logs quick-action icons when those preview actions are disabled.
1823
- Quality: Add a regression guard that keeps nested preview quick actions aligned with the folder's own preview settings.

src/folderview.plus/usr/local/emhttp/plugins/folderview.plus/Folder.page

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -434,23 +434,23 @@ try {
434434
</script>
435435
<?php emitNoCacheMetaTags(); ?>
436436
<?php emitPluginPageVersionSentinelScript('folder-editor'); ?>
437-
<script src="<?autov('/webGui/javascript/jquery.switchbutton.js')?>"></script>
438-
<link type="text/css" rel="stylesheet" href="<?autov('/webGui/styles/jquery.switchbutton.css')?>">
439-
<link type="text/css" rel="stylesheet" href="<?autov('/webGui/styles/jquery.ui.css')?>">
437+
<script src="<?php autov('/webGui/javascript/jquery.switchbutton.js')?>"></script>
438+
<link type="text/css" rel="stylesheet" href="<?php autov('/webGui/styles/jquery.switchbutton.css')?>">
439+
<link type="text/css" rel="stylesheet" href="<?php autov('/webGui/styles/jquery.ui.css')?>">
440440
<?php if (file_exists("/usr/local/emhttp/plugins/dynamix.docker.manager/styles/style-{$display['theme']}.css")): ?>
441-
<link type="text/css" rel="stylesheet" href="<?autov("/plugins/dynamix.docker.manager/styles/style-{$display['theme']}.css")?>">
441+
<link type="text/css" rel="stylesheet" href="<?php autov("/plugins/dynamix.docker.manager/styles/style-{$display['theme']}.css")?>">
442442
<?php endif; ?>
443-
<link type="text/css" rel="stylesheet" href="<?autov('/plugins/folderview.plus/styles/folder.css')?>">
444-
<link type="text/css" rel="stylesheet" href="<?autov("/plugins/folderview.plus/styles/include/jquery.multiselect.css")?>">
445-
<script src="<?autov('/plugins/folderview.plus/scripts/include/jquery.multiselect.js')?>"></script>
446-
<script src="<?autov('/plugins/folderview.plus/scripts/folderviewplus.utils.js')?>"></script>
447-
<script src="<?autov('/plugins/folderview.plus/scripts/folderviewplus.request.js')?>"></script>
448-
<script src="<?autov('/plugins/folderview.plus/scripts/folderviewplus.theme-resolver.js')?>"></script>
449-
<script src="<?autov('/plugins/folderview.plus/scripts/folderviewplus.folder-contract.js')?>"></script>
450-
<script src="<?autov('/plugins/folderview.plus/scripts/folder.editor.icon-api.js')?>"></script>
451-
<script src="<?autov('/plugins/folderview.plus/scripts/folder.editor.shared.js')?>"></script>
452-
<script src="<?autov('/plugins/folderview.plus/scripts/folder.editor.schema.js')?>"></script>
453-
<script src="<?autov('/plugins/folderview.plus/scripts/folder.editor.preview.js')?>"></script>
443+
<link type="text/css" rel="stylesheet" href="<?php autov('/plugins/folderview.plus/styles/folder.css')?>">
444+
<link type="text/css" rel="stylesheet" href="<?php autov("/plugins/folderview.plus/styles/include/jquery.multiselect.css")?>">
445+
<script src="<?php autov('/plugins/folderview.plus/scripts/include/jquery.multiselect.js')?>"></script>
446+
<script src="<?php autov('/plugins/folderview.plus/scripts/folderviewplus.utils.js')?>"></script>
447+
<script src="<?php autov('/plugins/folderview.plus/scripts/folderviewplus.request.js')?>"></script>
448+
<script src="<?php autov('/plugins/folderview.plus/scripts/folderviewplus.theme-resolver.js')?>"></script>
449+
<script src="<?php autov('/plugins/folderview.plus/scripts/folderviewplus.folder-contract.js')?>"></script>
450+
<script src="<?php autov('/plugins/folderview.plus/scripts/folder.editor.icon-api.js')?>"></script>
451+
<script src="<?php autov('/plugins/folderview.plus/scripts/folder.editor.shared.js')?>"></script>
452+
<script src="<?php autov('/plugins/folderview.plus/scripts/folder.editor.schema.js')?>"></script>
453+
<script src="<?php autov('/plugins/folderview.plus/scripts/folder.editor.preview.js')?>"></script>
454454

455455
<div class="canvas">
456456
<form class="folder-editor-form<?php echo $folderEditorPageMode === 'modern' ? ' fv-modern-editor-booting' : ''; ?>" data-fv-page-mode="<?php echo htmlspecialchars($folderEditorPageMode, ENT_QUOTES); ?>" onsubmit="submitForm(this, false); return false">

tests/security-hardening.test.mjs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,13 @@ test('all plugin page entrypoints emit no-cache document guards', () => {
7373
assert.match(libPhp, /win\.location\.reload\(\);/);
7474
});
7575

76+
test('folder editor page uses explicit php autov tags for editor assets', () => {
77+
assert.doesNotMatch(folderPage, /<\?autov\(/);
78+
assert.match(folderPage, /<script src="<\?php autov\('\/plugins\/folderview\.plus\/scripts\/folderviewplus\.utils\.js'\)\?>"><\/script>/);
79+
assert.match(folderPage, /<script src="<\?php autov\('\/plugins\/folderview\.plus\/scripts\/folderviewplus\.request\.js'\)\?>"><\/script>/);
80+
assert.match(folderPage, /<script src="<\?php autov\('\/plugins\/folderview\.plus\/scripts\/folderviewplus\.theme-resolver\.js'\)\?>"><\/script>/);
81+
});
82+
7683
test('live GET endpoints that drive page freshness emit no-cache headers', () => {
7784
assert.match(versionPhp, /header\('Content-Type: text\/plain'\);/);
7885
assert.match(versionPhp, /emitNoCachePageHeaders\(\);/);

0 commit comments

Comments
 (0)