[ SYSTEM ]: Linux wordpress 6.1.0-44-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.164-1 (2026-03-09) x86_64
[ SERVER ]: Apache/2.4.66 (Debian) | PHP: 8.2.30
[ USER ]: www-data | IP: 172.19.30.54
GEFORCE FILE MANAGER
/
var
/
www
/
html
/
wordpress
/
wp-content
/
plugins
/
presto-player
/
src
/
admin
/
settings
/
UPLOAD:
NAME
SIZE
QUICK PERMS
ACTIONS
📁 components
SET
[ DEL ]
📁 pages
SET
[ DEL ]
📁 scss
SET
[ DEL ]
📁 store
SET
[ DEL ]
📄 app.js
4,049 B
SET
[ EDIT ]
|
[ DEL ]
📄 entities.js
737 B
SET
[ EDIT ]
|
[ DEL ]
📄 index.js
265 B
SET
[ EDIT ]
|
[ DEL ]
📄 routes.js
164 B
SET
[ EDIT ]
|
[ DEL ]
📄 settings.js
2,431 B
SET
[ EDIT ]
|
[ DEL ]
📄 settings.scss
3,442 B
SET
[ EDIT ]
|
[ DEL ]
📄 util.js
606 B
SET
[ EDIT ]
|
[ DEL ]
DELETE SELECTED
[ CLOSE ]
EDIT: settings.js
const { __ } = wp.i18n; const { dispatch, useSelect } = wp.data; import apiFetch from "@/shared/services/fetch-wp"; const root = prestoPlayer.root + prestoPlayer.wpVersionString; // raw settings export function getSettings() { return useSelect((select) => { return select("presto-player/settings").settings(); }); } export function filterSettings(settings) { const keys = [ "presto_player_analytics", "presto_player_presets", "presto_player_branding", "presto_player_bunny_storage_zones", "presto_player_bunny_pull_zones", "presto_player_bunny_stream", "presto_player_bunny_stream_public", "presto_player_bunny_stream_private", "presto_player_google_analytics", "presto_player_general", "presto_player_uninstall", "presto_player_performance", "presto_player_mailchimp", "presto_player_mailerlite", "presto_player_youtube", "presto_player_activecampaign", "presto_player_fluentcrm", "presto_player_audio_presets", "presto_player_instant_video_width", "presto_player_media_hub_sync_default" ]; let settingsToSet = {}; // important - if settings are returned as null (invalid) we need to reset keys.forEach((key) => { settingsToSet[key] = settings[key] ? settings[key] : {}; }); return settingsToSet; } // get settings and set in store export function fetchSettings() { return apiFetch({ url: `${root}settings/`, }).then((settings) => { dispatch("presto-player/settings").setSettings(filterSettings(settings)); return settings; }); } export function saveSettings(settings) { dispatch("presto-player/settings").setSaving(true); apiFetch({ url: `${root}settings/`, method: "POST", data: settings, }) .then((settings) => { dispatch("presto-player/settings").setSettings(filterSettings(settings)); dispatch("presto-player/settings").addNotice({ content: __("Settings saved.", "presto-player"), }); }) .catch((e) => { dispatch("presto-player/settings").addNotice({ content: e.message ? e.message : "Something went wrong.", className: "is-snackbar-error", }); }) .finally(() => { dispatch("presto-player/settings").setSaving(false); }); } // get an option with a fallback export function get_option(name, fallback) { const settings = getSettings(); return settings?.[name] ? settings[name] : fallback; }