1
0
mirror of https://github.com/imapsync/imapsync.git synced 2024-11-17 00:02:29 +01:00
imapsync/X/imapsync_shell_wrapper
Nick Bebout f26b2573c3 2.140
2021-08-04 14:14:36 -05:00

56 lines
1.4 KiB
Bash
Executable File

#!/bin/sh
# $Id: imapsync_shell_wrapper,v 1.6 2020/03/26 22:24:10 gilles Exp gilles $
## A pure working wrapper is like this one for example:
## Uncomment the following lines to test it
#/usr/lib/cgi-bin/imapsync
#date
#id
#cal
#exit
## but the previous is a little useless and uneasy to add extra parameters
## We need a little extra work.
# Count characters in files, except the \r \n characters
count_chars_but_nl()
{
cat "$@" | tr -d '\r\n' | wc -c
}
# Run imapsync with parameters written in files given in arguments
imapsync_with_extra_param()
{
# Update the environment variable CONTENT_LENGTH
# This update is mandatory or the augmented parameters list will be truncated by imapsync.
CONTENT_LENGTH=`count_chars_but_nl "$@"`
cat "$@" | tr -d '\r\n' | /usr/lib/cgi-bin/imapsync
}
# The actual stuff
# Save the UI parameters in a file
cat > /tmp/imapsync_shell_wrapper_from_ui.txt
# Now run imapsync with the UI parameters and the extra parameters
imapsync_with_extra_param /tmp/imapsync_shell_wrapper_from_ui.txt /tmp/imapsync_shell_wrapper_extra.txt
echo imapsync first run exited with return code $?
echo
who
date
# A second run with other some extra_2 parameters
imapsync_with_extra_param /tmp/imapsync_shell_wrapper_from_ui.txt /tmp/imapsync_shell_wrapper_extra_2.txt
echo imapsync last run exited with return code $?
echo
cal
echo
echo Bye bye
# Got the picture?