fix: CREATE TABLE IF NOT EXISTS, sofort google.de Redirect, publicShares direkt neu laden
This commit is contained in:
@@ -572,21 +572,20 @@ if (!db.prepare("SELECT value FROM admin_settings WHERE key='tmdb_token'").get()
|
|||||||
db.prepare("INSERT INTO admin_settings (key,value) VALUES ('tmdb_token','')").run();
|
db.prepare("INSERT INTO admin_settings (key,value) VALUES ('tmdb_token','')").run();
|
||||||
|
|
||||||
// Öffentliche Datei/Ordner-Freigabe Links
|
// Öffentliche Datei/Ordner-Freigabe Links
|
||||||
if (!db.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='public_file_shares'").get()) {
|
// CREATE TABLE IF NOT EXISTS – sicher bei jedem Start
|
||||||
db.exec(`
|
db.exec(`
|
||||||
CREATE TABLE public_file_shares (
|
CREATE TABLE IF NOT EXISTS public_file_shares (
|
||||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||||
token TEXT NOT NULL UNIQUE,
|
token TEXT NOT NULL UNIQUE,
|
||||||
user_id INTEGER NOT NULL REFERENCES users(id) ON DELETE CASCADE,
|
user_id INTEGER NOT NULL REFERENCES users(id) ON DELETE CASCADE,
|
||||||
file_id INTEGER REFERENCES files(id) ON DELETE CASCADE,
|
file_id INTEGER REFERENCES files(id) ON DELETE CASCADE,
|
||||||
folder_id INTEGER REFERENCES folders(id) ON DELETE CASCADE,
|
folder_id INTEGER REFERENCES folders(id) ON DELETE CASCADE,
|
||||||
label TEXT,
|
label TEXT,
|
||||||
password_hash TEXT NOT NULL,
|
password_hash TEXT NOT NULL,
|
||||||
expires_at INTEGER NOT NULL,
|
expires_at INTEGER NOT NULL,
|
||||||
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||||
download_count INTEGER NOT NULL DEFAULT 0
|
download_count INTEGER NOT NULL DEFAULT 0
|
||||||
)
|
)
|
||||||
`);
|
`);
|
||||||
}
|
|
||||||
|
|
||||||
module.exports = db;
|
module.exports = db;
|
||||||
|
|||||||
@@ -2969,10 +2969,10 @@ function PublicFileShare({ token }) {
|
|||||||
return (b/1024/1024).toFixed(1) + ' MB';
|
return (b/1024/1024).toFixed(1) + ' MB';
|
||||||
}
|
}
|
||||||
|
|
||||||
// Abgelaufen/ungültig → Redirect zu google.de
|
// Abgelaufen/ungültig → sofort zu google.de
|
||||||
if (phase === 'error') {
|
if (phase === 'error') {
|
||||||
window.location.replace('https://www.google.de');
|
window.location.replace('https://www.google.de');
|
||||||
return <div style={S2.wrap}><div style={{color:'#fff',fontFamily:'monospace'}}>Weiterleitung…</div></div>;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
|||||||
@@ -732,7 +732,7 @@ export default function Dateien({ toast, mobile }) {
|
|||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
{shareItem && <ShareModal item={shareItem.item} type={shareItem.type} onClose={()=>{setShareItem(null);load();}} toast={toast}/>}
|
{shareItem && <ShareModal item={shareItem.item} type={shareItem.type} onClose={()=>{setShareItem(null);load();}} toast={toast}/>}
|
||||||
{publicShareItem && <PublicShareModal item={publicShareItem.item} itemType={publicShareItem.type} onClose={()=>{setPublicShareItem(null);load();}} toast={toast}/>}
|
{publicShareItem && <PublicShareModal item={publicShareItem.item} itemType={publicShareItem.type} onClose={()=>{setPublicShareItem(null);api('/tools/dateien/public-shares').then(d=>setPublicShares(d.shares||[])).catch(()=>{});}} toast={toast}/>}
|
||||||
|
|
||||||
{/* ── Aktive öffentliche Links ──────────────────────────────────────── */}
|
{/* ── Aktive öffentliche Links ──────────────────────────────────────── */}
|
||||||
{publicShares.length > 0 && tab === 'own' && (
|
{publicShares.length > 0 && tab === 'own' && (
|
||||||
|
|||||||
Reference in New Issue
Block a user