aboutsummaryrefslogtreecommitdiffhomepage
path: root/examples/data/scripts/formfiller.sh
diff options
context:
space:
mode:
authorGravatar Pawel Tomak <satherot@gmail.com>2010-03-27 08:45:52 +0100
committerGravatar Pawel Tomak <satherot@gmail.com>2010-03-27 08:45:52 +0100
commit6c427ad053b8542e17285ce62ed2b7dde0966472 (patch)
treeab17eb9ca65afeba1252fda4d1cf7d2db22488b2 /examples/data/scripts/formfiller.sh
parentf9cbf6cb3eb1e292e4b8e8fb4d9e8c00c5545ad6 (diff)
Checkbox and textarea support also for remembered forms
Diffstat (limited to 'examples/data/scripts/formfiller.sh')
-rwxr-xr-xexamples/data/scripts/formfiller.sh8
1 files changed, 6 insertions, 2 deletions
diff --git a/examples/data/scripts/formfiller.sh b/examples/data/scripts/formfiller.sh
index afce151..7bb7cae 100755
--- a/examples/data/scripts/formfiller.sh
+++ b/examples/data/scripts/formfiller.sh
@@ -114,9 +114,13 @@ then
option=`echo -e -n "$menu"| dmenu ${LINES} -nb "${NB}" -nf "${NF}" -sb "${SB}" -sf "${SF}" -p "${PROMPT}"`
fi
+ sed 's/\([^(]\+\)(\(checkbox\)):[ ]*\(.\+\)/\1(\2):1/;s/\([^(]\+\)(\(checkbox\)):$/\1(\2):0/' -i $keydir/$domain
cat $keydir/$domain | \
sed -n -e "/^!profile=${option}/,/^!profile=/p" | \
- sed -n -e 's/\([^(]\+\)([^)]\+):[ ]*\(.\+\)$/js if(window.frames.length > 0) { for(i=0;i<window.frames.length;i=i+1) { try { var e = window.frames[i].document.getElementsByName("\1"); if(e.length > 0) { e[0].value="\2"; } } catch(err) { } } }; document.getElementsByName("\1")[0].value="\2"/p' | \
+ sed -n -e 's/\([^(]\+\)(\(password\|text\|textarea\)\+):[ ]*\(.\+\)/js if(window.frames.length > 0) { for(i=0;i<window.frames.length;i=i+1) { try { var e = window.frames[i].document.getElementsByName("\1"); if(e.length > 0) { e[0].value="\3" } } catch(err) { } } }; document.getElementsByName("\1")[0].value="\3"/p' | \
+ sed -e 's/@/\\@/g' >> $fifo
+ cat $keydir/$domain | \
+ sed -n -e 's/\([^(]\+\)(\(checkbox\)):[ ]*\(.\+\)/js if(window.frames.length > 0) { for(i=0;i<window.frames.length;i=i+1) { try { var e = window.frames[i].document.getElementsByName("\1"); if(e.length > 0) { e[0].checked=\3 } } catch(err) { } } }; document.getElementsByName("\1")[0].checked=\3/p' | \
sed -e 's/@/\\@/g' >> $fifo
elif [ "$action" = "once" ]
then
@@ -163,7 +167,7 @@ else
#
echo "js "$dumpFunction" dump(); " | \
socat - unix-connect:$socket | \
- sed -n '/^[^(]\+([^)]\+):/p' > $keydir/$domain
+ sed -n '/^[^(]\+([^)]\+):/p' >> $keydir/$domain
fi
[ -e "$keydir/$domain" ] || exit 3 #this should never happen, but you never know.
$editor "$keydir/$domain" #TODO: if user aborts save in editor, the file is already overwritten