Files
op-packages/luci-theme-fluent-lite/root/usr/libexec/rpcd/luci.fluent
T

81 lines
1.6 KiB
Bash
Executable File

#!/bin/sh
. /lib/functions.sh
. /usr/share/libubox/jshn.sh
readonly bg_path="/www/luci-static/fluent/background"
readonly tmp_path="/tmp/fluent_background.tmp"
case "$1" in
"list")
json_init
json_add_object "avail"
json_close_object
json_add_object "remove"
json_add_string "filename" "filename"
json_close_object
json_add_object "rename"
json_add_string "newname" "filename"
json_close_object
json_add_object "set_mode"
json_add_string "mode" "mode"
json_close_object
json_dump
json_cleanup
;;
"call")
case "$2" in
"avail")
json_init
json_add_int "avail" "$(df | grep -E '/$' | awk '{print $4}')"
json_dump
json_cleanup
;;
"remove")
read -r input
json_load "$input"
json_get_var filename "filename"
json_cleanup
if dirname "$filename" | grep -q ".."; then
echo '{ "result": 255 }'
exit 255
fi
rm -f "$bg_path/$filename"
echo '{ "result": 0 }'
;;
"rename")
read -r input
json_load "$input"
json_get_var newname "newname"
json_cleanup
if dirname "$newname" | grep -q ".."; then
echo '{ "result": 255 }'
exit 255
fi
mkdir -p "$bg_path"
if mv "$tmp_path" "$bg_path/$newname" 2>/dev/null; then
chmod 0644 "$bg_path/$newname"
echo '{ "result": 0 }'
else
echo '{ "result": 1 }'
fi
;;
"set_mode")
read -r input
json_load "$input"
json_get_var mode "mode"
json_cleanup
case "$mode" in
light|dark|auto) ;;
*) echo '{ "result": 255 }'; exit 255 ;;
esac
if uci -q set fluent.@global[0].mode="$mode" && uci -q commit fluent; then
echo '{ "result": 0 }'
else
echo '{ "result": 1 }'
fi
;;
esac
;;
esac