66 lines
1.2 KiB
Bash
Executable File
66 lines
1.2 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
. /lib/functions.sh
|
|
. /usr/share/libubox/jshn.sh
|
|
|
|
readonly bg_path="/www/luci-static/argon/background"
|
|
readonly tmp_path="/tmp/argon_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_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
|
|
|
|
if mv "$tmp_path" "$bg_path/$newname" 2>"/dev/null"; then
|
|
chmod 0644 "$bg_path/$newname"
|
|
echo '{ "result": 0 }'
|
|
else
|
|
echo '{ "result": 1 }'
|
|
fi
|
|
;;
|
|
esac
|
|
;;
|
|
esac
|