diff options
author | Rüdiger Timm <rt@openoffice.org> | 2004-06-17 14:42:24 +0000 |
---|---|---|
committer | Rüdiger Timm <rt@openoffice.org> | 2004-06-17 14:42:24 +0000 |
commit | 1251f3838c627d7562626cf17378dbe9964b9ea2 (patch) | |
tree | db18f6f9a58e9e87fdce71a914ac6a2c92a4ac9c /shell | |
parent | 5187114ea3f6ef9c33807c965d6b140ead50ee77 (diff) |
INTEGRATION: CWS defaultmailer (1.1.2); FILE ADDED
2004/06/08 10:32:22 obr 1.1.2.1: #i21321#,#i28378#,103347 cmdmail is now unix only and auto-detects the command line profile to use
Diffstat (limited to 'shell')
-rw-r--r-- | shell/source/unix/misc/senddoc.sh | 264 |
1 files changed, 264 insertions, 0 deletions
diff --git a/shell/source/unix/misc/senddoc.sh b/shell/source/unix/misc/senddoc.sh new file mode 100644 index 000000000000..737712a5fb64 --- /dev/null +++ b/shell/source/unix/misc/senddoc.sh @@ -0,0 +1,264 @@ +#!/bin/sh + +# tries to locate the executable specified +# as first parameter in the user's path. +which() { + if [ ! -z "$1" ]; then + for i in `echo $PATH | sed -e 's/^:/.:/g' -e 's/:$/:./g' -e 's/::/:.:/g' -e 's/:/ /g'`; do + if [ -x "$i/$1" ]; then + echo "$i/$1" + break; + fi + done + fi +} + +# checks for the original mozilla start script(s) +# and restrict the "-remote" semantics to those. +run_mozilla() { + # find mozilla script in PATH if necessary + if [ "`basename $1`" = "$1" ]; then + moz=`which $1` + else + moz=$1 + fi + + if file "$moz" | grep "script" > /dev/null && grep "NPL" "$moz" > /dev/null; then + "$moz" -remote 'ping()' 2>/dev/null >/dev/null + if [ $? -eq 2 ]; then + "$1" -compose "$2" & + else + "$1" -remote "xfeDoCommand(composeMessage,$2)" & + fi + else + "$1" -compose "$2" & + fi +} + +# restore search path for dynamic loader to system defaults to +# avoid version clashes of mozilla libraries shipped with OOo +case `uname -s` in + AIX) + LIBPATH=$SYSTEM_LIBPATH + if [ -z "$LIBPATH" ]; then + unset LIBPATH SYSTEM_LIBPATH + else + export LIBPATH; unset SYSTEM_LIBPATH + fi + ;; + + Darwin) + DYLD_LIBRARY_PATH=$SYSTEM_DYLD_LIBRARY_PATH + if [ -z "$DYLD_LIBRARY_PATH" ]; then + unset DYLD_LIBRARY_PATH SYSTEM_DYLD_LIBRARY_PATH + else + export DYLD_LIBRARY_PATH; unset SYSTEM_DYLD_LIBRARY_PATH + fi + ;; + + HP-UX) + SHLIB_PATH=$SYSTEM_SHLIB_PATH + if [ -z "$SHLIB_PATH" ]; then + unset SHLIB_PATH SYSTEM_SHLIB_PATH + else + export SHLIB_PATH; unset SYSTEM_SHLIB_PATH + fi + ;; + + IRIX*) + LD_LIBRARYN32_PATH=$SYSTEM_LD_LIBRARYN32_PATH + if [ -z "$LD_LIBRARYN32_PATH" ]; then + unset LD_LIBRARYN32_PATH SYSTEM_LD_LIBRARYN32_PATH + else + export LD_LIBRARYN32_PATH; unset $SYSTEM_LD_LIBRARYN32_PATH + fi + ;; + + *) + LD_LIBRARY_PATH=$SYSTEM_LD_LIBRARY_PATH + if [ -z "$LD_LIBRARY_PATH" ]; then + unset LD_LIBRARY_PATH SYSTEM_LD_LIBRARY_PATH + else + export LD_LIBRARY_PATH; unset SYSTEM_LD_LIBRARY_PATH + fi + ;; +esac + +if [ "$1" = "--mailclient" ]; then + shift + MAILER=$1 + shift +fi + +# autodetect mail client from executable name +case `basename $MAILER | sed 's/-.*$//'` in + + mozilla | netscape | thunderbird) + + while [ "$1" != "" ]; do + case $1 in + --to) + TO=${TO:-}${TO:+,}$2 + shift + ;; + --cc) + CC=${CC:-}${CC:+,}$2 + shift + ;; + --bcc) + BCC=${BCC:-}${BCC:+,}$2 + shift + ;; + --subject) + SUBJECT=$2 + shift + ;; + --body) + BODY=$2 + shift + ;; + --attach) + ATTACH=${ATTACH:-}${ATTACH:+,}$2 + shift + ;; + *) + ;; + esac + shift; + done + + if [ "$TO" != "" ]; then + COMMAND=${COMMAND:-}${COMMAND:+,}to=${TO} + fi + if [ "$CC" != "" ]; then + COMMAND=${COMMAND:-}${COMMAND:+,}cc=${CC} + fi + if [ "$BCC" != "" ]; then + COMMAND=${COMMAND:-}${COMMAND:+,}bcc=${BCC} + fi + if [ "$SUBJECT" != "" ]; then + COMMAND=${COMMAND:-}${COMMAND:+,}subject=${SUBJECT} + fi + if [ "$BODY" != "" ]; then + COMMAND=${COMMAND:-}${COMMAND:+,}body=${BODY} + fi + if [ "$ATTACH" != "" ]; then + COMMAND=${COMMAND:-}${COMMAND:+,}attachment=${ATTACH} + fi + + run_mozilla "$MAILER" "$COMMAND" + ;; + + kmail) + + while [ "$1" != "" ]; do + case $1 in + --to) + TO=${TO:-}${TO:+,}$2 + shift + ;; + --cc) + CC=${CC:-}${CC:+,}$2 + shift + ;; + --bcc) + BCC=${BCC:-}${BCC:+,}$2 + shift + ;; + --subject) + SUBJECT=$2 + shift + ;; + --body) + BODY=$2 + shift + ;; + --attach) + ATTACH="${ATTACH:-}${ATTACH:+ }--attach $2" + shift + ;; + *) + ;; + esac + shift; + done + + ${MAILER} --composer ${CC:+--cc} "${CC:-}" ${BCC:+--bcc} "${BCC:-}" ${SUBJECT:+--subject} \ + "${SUBJECT:-}" ${BODY:+--body} "${BODY}" ${ATTACH} "${TO}" + ;; + + evolution) + + while [ "$1" != "" ]; do + case $1 in + --to) + if [ "${TO}" != "" ]; then + MAILTO="${MAILTO:-}${MAILTO:+&}to=$2" + else + TO="$2" + fi + shift + ;; + --cc) + MAILTO=${MAILTO:-}${MAILTO:+&}cc=$2 + shift + ;; + --bcc) + MAILTO=${MAILTO:-}${MAILTO:+&}bcc=$2 + shift + ;; + --subject) + MAILTO=${MAILTO:-}${MAILTO:+&}subject=$2 + shift + ;; + --body) + MAILTO=${MAILTO:-}${MAILTO:+&}body=$2 + shift + ;; + --attach) + MAILTO=${MAILTO:-}${MAILTO:+&}attach=$2 + shift + ;; + *) + ;; + esac + shift; + done + + MAILTO="mailto:${TO}?${MAILTO}" + ${MAILER} "${MAILTO}" & + ;; + +# FIXME: dtmail dows not accept file urls, so we need to convert them +# to system paths ! +# dtmail) +# +# while [ "$1" != "" ]; do +# case $1 in +# --to) +# TO=${TO:-}${TO:+,}$2 +# shift +# ;; +# --attach) +# ATTACH="${ATTACH:-}${ATTACH:+ } $2" +# shift +# ;; +# *) +# ;; +# esac +# shift; +# done +# +# ${MAILER} ${TO:+-T} ${TO:-} ${ATTACH:+-a} ${ATTACH:-} +# ;; + *) + if [ "$MAILER" != "" ]; then + echo "Unsupported mail client: `basename $MAILER | sed 's/-.*^//'`" + else + echo "Could not determine a mail client to use." + fi + exit 2 + ;; +esac + +exit 0 |