]> git.plutz.net Git - serve0/blobdiff - actions/preferences.sh
introduced page size cookie; globalised some input validation
[serve0] / actions / preferences.sh
index 1552d756326c60258f3d9a0a7d16330ffb6ff32b..e754044dc6cda8c89d3d750c729c521a924c0031 100755 (executable)
@@ -1,16 +1,18 @@
 #!/bin/zsh
 
 cgi_post
-cgi_cookie
 
-fakemp4="$(printf %s "${_POST[fakemp4]}" |sed -rn '/^yes$/{p;q};ano' )"
-watch="$(printf %s   "${_POST[watch]}"   |sed -rn '/^(240p|480p|download|raspi|player|server)$/{p;q};aplayer' )"
+fakemp4=$(validate  "${_POST[fakemp4]}"  yes no)
+watch=$(validate    "${_POST[watch]}"    '(240p|480p|download|raspi|player|server)' player)
+pagesize=$(validate "${_POST[pagesize]}" '[1-9][0-9]+' 1)
 
 debug '== Setting Preferences =='
-debug "fakemp4 = $fakemp4"
-debug "watch   = $watch"
+debug "fakemp4  = $fakemp4"
+debug "watch    = $watch"
+debug "pagesize = $pagesize"
 
 set_cookie '+ 1 month' "fakemp4=${fakemp4}" HttpOnly
 set_cookie '+ 1 month' "watch=${watch}" HttpOnly
+set_cookie '+ 1 month' "pagesize=${pagesize}" HttpOnly
 
 redirect "$HTTP_REFERER"