home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2007 September / PCWSEP07.iso / Software / Linux / Linux Mint 3.0 Light / LinuxMint-3.0-Light.iso / casper / filesystem.squashfs / usr / lib / openoffice / program / senddoc < prev    next >
Encoding:
Text File  |  2007-04-10  |  7.6 KB  |  411 lines

  1. #!/bin/sh
  2. URI_ENCODE="`dirname $0`/uri-encode"
  3.  
  4. # tries to locate the executable specified 
  5. # as first parameter in the user's path.
  6. which() {
  7.     if [ ! -z "$1" ]; then
  8.         for i in `echo $PATH | sed -e 's/^:/.:/g' -e 's/:$/:./g' -e 's/::/:.:/g' -e 's/:/ /g'`; do
  9.             if [ -x "$i/$1" -a ! -d "$i/$1" ]; then
  10.                 echo "$i/$1"
  11.                 break;
  12.             fi
  13.         done
  14.     fi
  15. }
  16.  
  17. # checks for the original mozilla start script(s) 
  18. # and restrict the "-remote" semantics to those.
  19. run_mozilla() {
  20.     # find mozilla script in PATH if necessary
  21.     if [ "`basename $1`" = "$1" ]; then
  22.         moz=`which $1`
  23.     else
  24.         moz=$1
  25.     fi
  26.  
  27.     if file "$moz" | grep "script" > /dev/null && grep "[NM]PL" "$moz" > /dev/null; then
  28.         "$moz" -remote 'ping()' 2>/dev/null >/dev/null
  29.         if [ $? -eq 2 ]; then
  30.             "$1" -compose "$2" &
  31.         else
  32.             "$1" -remote "xfeDoCommand(composeMessage,$2)" &
  33.         fi
  34.     else
  35.         "$1" -compose "$2" &
  36.     fi
  37. }
  38.  
  39. # restore search path for dynamic loader to system defaults to
  40. # avoid version clashes of mozilla libraries shipped with OOo
  41. case `uname -s` in
  42.     AIX)
  43.         LIBPATH=$SYSTEM_LIBPATH
  44.         if [ -z "$LIBPATH" ]; then
  45.             unset LIBPATH SYSTEM_LIBPATH
  46.         else
  47.             export LIBPATH; unset SYSTEM_LIBPATH
  48.         fi
  49.         ;;
  50.  
  51.     Darwin)
  52.         DYLD_LIBRARY_PATH=$SYSTEM_DYLD_LIBRARY_PATH
  53.         if [ -z "$DYLD_LIBRARY_PATH" ]; then
  54.             unset DYLD_LIBRARY_PATH SYSTEM_DYLD_LIBRARY_PATH
  55.         else
  56.             export DYLD_LIBRARY_PATH; unset SYSTEM_DYLD_LIBRARY_PATH
  57.         fi
  58.         ;;
  59.  
  60.     HP-UX)
  61.         SHLIB_PATH=$SYSTEM_SHLIB_PATH
  62.         if [ -z "$SHLIB_PATH" ]; then
  63.             unset SHLIB_PATH SYSTEM_SHLIB_PATH
  64.         else
  65.             export SHLIB_PATH; unset SYSTEM_SHLIB_PATH
  66.         fi
  67.         ;;
  68.  
  69.     IRIX*)
  70.         LD_LIBRARYN32_PATH=$SYSTEM_LD_LIBRARYN32_PATH
  71.         if [ -z "$LD_LIBRARYN32_PATH" ]; then
  72.             unset LD_LIBRARYN32_PATH SYSTEM_LD_LIBRARYN32_PATH
  73.         else
  74.             export LD_LIBRARYN32_PATH; unset $SYSTEM_LD_LIBRARYN32_PATH
  75.         fi
  76.         ;;
  77.  
  78.     *)
  79.         LD_LIBRARY_PATH=$SYSTEM_LD_LIBRARY_PATH
  80.         if [ -z "$LD_LIBRARY_PATH" ]; then
  81.             unset LD_LIBRARY_PATH SYSTEM_LD_LIBRARY_PATH
  82.         else
  83.             export LD_LIBRARY_PATH; unset SYSTEM_LD_LIBRARY_PATH
  84.         fi
  85.         ;;
  86. esac
  87.  
  88. if [ "$1" = "--mailclient" ]; then
  89.     shift
  90.     MAILER=$1
  91.     shift
  92. fi
  93.  
  94. case `basename "$MAILER"` in
  95.     sensible-ooomua)
  96.         if [ -n "$GNOME_DESKTOP_SESSION_ID" -a -x /usr/bin/evolution ]; then
  97.             MAILER=/usr/bin/evolution
  98.         elif [ -n "$KDE_FULL_SESSION" -a -x /usr/bin/kmail ]; then
  99.             MAILER=/usr/bin/kmail
  100.         elif [ -x /usr/bin/evolution ]; then
  101.             # default
  102.             MAILER=/usr/bin/evolution
  103.         fi
  104.         ;;
  105. esac
  106.  
  107. # autodetect mail client from executable name
  108. case `basename "$MAILER" | sed 's/-.*$//'` in
  109.  
  110.     mozilla | netscape | seamonkey | thunderbird)
  111.     
  112.         while [ "$1" != "" ]; do
  113.             case $1 in
  114.                 --to)
  115.                     TO=${TO:-}${TO:+,}$2
  116.                     shift
  117.                     ;;
  118.                 --cc)
  119.                     CC=${CC:-}${CC:+,}$2
  120.                     shift
  121.                     ;;
  122.                 --bcc)
  123.                     BCC=${BCC:-}${BCC:+,}$2
  124.                     shift
  125.                     ;;
  126.                 --subject)
  127.                     SUBJECT=$2
  128.                     shift
  129.                     ;;
  130.                 --body)
  131.                     BODY=$2
  132.                     shift
  133.                     ;;
  134.                 --attach)
  135.                     ATTACH=${ATTACH:-}${ATTACH:+,}`echo file://$2 | ${URI_ENCODE}`
  136.                     shift
  137.                     ;;
  138.                 *)
  139.                     ;;
  140.             esac
  141.             shift;
  142.         done
  143.  
  144.         if [ "$TO" != "" ]; then
  145.             COMMAND=${COMMAND:-}${COMMAND:+,}to=${TO}
  146.         fi
  147.         if [ "$CC" != "" ]; then
  148.             COMMAND=${COMMAND:-}${COMMAND:+,}cc=${CC}
  149.         fi
  150.         if [ "$BCC" != "" ]; then
  151.             COMMAND=${COMMAND:-}${COMMAND:+,}bcc=${BCC}
  152.         fi
  153.         if [ "$SUBJECT" != "" ]; then
  154.             COMMAND=${COMMAND:-}${COMMAND:+,}subject=${SUBJECT}
  155.         fi
  156.         if [ "$BODY" != "" ]; then
  157.             COMMAND=${COMMAND:-}${COMMAND:+,}body=${BODY}
  158.         fi
  159.         if [ "$ATTACH" != "" ]; then
  160.             COMMAND=${COMMAND:-}${COMMAND:+,}attachment=${ATTACH}
  161.         fi
  162.         
  163.         run_mozilla "$MAILER" "$COMMAND"
  164.         ;;
  165.         
  166.     kmail)
  167.     
  168.         while [ "$1" != "" ]; do
  169.             case $1 in
  170.                 --to)
  171.                     TO="${TO:-}${TO:+,}$2"
  172.                     shift
  173.                     ;;
  174.                 --cc)
  175.                     CC="${CC:-}${CC:+,}$2"
  176.                     shift
  177.                     ;;
  178.                 --bcc)
  179.                     BCC="${BCC:-}${BCC:+,}$2"
  180.                     shift
  181.                     ;;
  182.                 --subject)
  183.                     SUBJECT="$2"
  184.                     shift
  185.                     ;;
  186.                 --body)
  187.                     BODY="$2"
  188.                     shift
  189.                     ;;
  190.                 --attach)
  191.                     ATTACH="$2"
  192.                     shift
  193.                     ;;
  194.                 *)
  195.                     ;;
  196.             esac
  197.             shift;
  198.         done
  199.         
  200.         ${MAILER} --composer ${CC:+--cc} ${CC:+"${CC}"} ${BCC:+--bcc} ${BCC:+"${BCC}"} \
  201.             ${SUBJECT:+--subject} ${SUBJECT:+"${SUBJECT}"} ${BODY:+--body} ${BODY:+"${BODY}"} \
  202.             ${ATTACH:+--attach} ${ATTACH:+"${ATTACH}"} ${TO:+"${TO}"}
  203.         ;;
  204.         
  205.     mutt)
  206.     
  207.         while [ "$1" != "" ]; do
  208.             case $1 in
  209.                 --from)
  210.                     FROM="$2"
  211.                     shift
  212.                     ;;
  213.                 --to)
  214.                     TO="${TO:-}${TO:+,}$2"
  215.                     shift
  216.                     ;;
  217.                 --cc)
  218.                     CC="${CC:-}${CC:+,}$2"
  219.                     shift
  220.                     ;;
  221.                 --bcc)
  222.                     BCC="${BCC:-}${BCC:+,}$2"
  223.                     shift
  224.                     ;;
  225.                 --subject)
  226.                     SUBJECT="$2"
  227.                     shift
  228.                     ;;
  229.                 --body)
  230.                     BODY=$(mktemp -q -t $(basename $0).mutt.XXXXXXXX)
  231.                     echo "$2" > $BODY
  232.                     shift
  233.                     ;;
  234.                 --attach)
  235.                     ATTACH="$2"
  236.                     shift
  237.                     ;;
  238.                 *)
  239.                     ;;
  240.             esac
  241.             shift;
  242.         done
  243.         
  244.         x-terminal-emulator -e ${MAILER} \
  245.             ${FROM:+-e} ${FROM:+"set from=\"${FROM}\""} \
  246.             ${CC:+-c} ${CC:+"${CC}"} \
  247.             ${BCC:+-b} ${BCC:+"${BCC}"} \
  248.             ${SUBJECT:+-s} ${SUBJECT:+"${SUBJECT}"} \
  249.             ${BODY:+-i} ${BODY:+"${BODY}"} \
  250.             ${ATTACH:+-a} ${ATTACH:+"${ATTACH}"} \
  251.             ${TO:+"${TO}"} &
  252.         rm -f $BODY
  253.         ;;
  254.         
  255.     evolution)
  256.     
  257.         while [ "$1" != "" ]; do
  258.             case $1 in
  259.                 --to)
  260.                     if [ "${TO}" != "" ]; then
  261.                         MAILTO="${MAILTO:-}${MAILTO:+&}to=$2"
  262.                     else
  263.                         TO="$2"
  264.                     fi
  265.                     shift
  266.                     ;;
  267.                 --cc)
  268.                     MAILTO="${MAILTO:-}${MAILTO:+&}cc=`echo $2| ${URI_ENCODE}`"
  269.                     shift
  270.                     ;;
  271.                 --bcc)
  272.                     MAILTO="${MAILTO:-}${MAILTO:+&}bcc=`echo $2| ${URI_ENCODE}`"
  273.                     shift
  274.                     ;;
  275.                 --subject)
  276.                     MAILTO="${MAILTO:-}${MAILTO:+&}subject=`echo $2 | ${URI_ENCODE}`"
  277.                     shift
  278.                     ;;
  279.                 --body)
  280.                     MAILTO="${MAILTO:-}${MAILTO:+&}body=`echo $2 | ${URI_ENCODE}`"
  281.                     shift
  282.                     ;;
  283.                 --attach)
  284.                     MAILTO="${MAILTO:-}${MAILTO:+&}attach=`echo file://$2 | ${URI_ENCODE}`"
  285.                     shift
  286.                     ;;
  287.                 *)
  288.                     ;;
  289.             esac
  290.             shift;
  291.         done
  292.         
  293.         MAILTO="mailto:${TO}?${MAILTO}"
  294.         ${MAILER} "${MAILTO}" &
  295.         ;;
  296.  
  297.     dtmail)
  298.      
  299.         while [ "$1" != "" ]; do
  300.             case $1 in
  301.                 --to)
  302.                     TO=${TO:-}${TO:+,}$2
  303.                     shift
  304.                     ;;
  305.                 --attach)
  306.                     ATTACH="$2"
  307.                     shift
  308.                     ;;
  309.                 *)
  310.                     ;;
  311.             esac
  312.             shift;
  313.         done
  314.          
  315.         ${MAILER} ${TO:+-T} ${TO:-} ${ATTACH:+-a} ${ATTACH:+"${ATTACH}"}
  316.         ;;
  317.  
  318.     sylpheed)
  319.      
  320.         while [ "$1" != "" ]; do
  321.             case $1 in
  322.                 --to)
  323.                     TO=${TO:-}${TO:+,}$2
  324.                     shift
  325.                     ;;
  326.                 --attach)
  327.                     ATTACH="${ATTACH:-}${ATTACH:+ } $2"
  328.                     shift
  329.                     ;;
  330.                 *)
  331.                     ;;
  332.             esac
  333.             shift;
  334.         done
  335.          
  336.          ${MAILER} ${TO:+--compose} ${TO:-} ${ATTACH:+--attach} ${ATTACH:-}
  337.         ;;
  338.  
  339.     Mail | Thunderbird | *.app )
  340.  
  341.         while [ "$1" != "" ]; do
  342.             case $1 in
  343.                 --attach)
  344.                     ATTACH="${ATTACH:-}${ATTACH:+ } $2"
  345.                     shift
  346.                     ;;
  347.                 *)
  348.                     ;;
  349.             esac
  350.             shift;
  351.         done
  352.          
  353.         /usr/bin/open -a "${MAILER}" ${ATTACH}
  354.         ;;
  355.  
  356.     "")
  357.     
  358.         # DESKTOP_LAUNCH, see http://freedesktop.org/pipermail/xdg/2004-August/004489.html
  359.         if [ -n "$DESKTOP_LAUNCH" ]; then
  360.             while [ "$1" != "" ]; do
  361.                 case $1 in
  362.                     --to)
  363.                         if [ "${TO}" != "" ]; then
  364.                             MAILTO="${MAILTO:-}${MAILTO:+&}to=$2"
  365.                         else
  366.                             TO="$2"
  367.                         fi
  368.                         shift
  369.                         ;;
  370.                     --cc)
  371.                         MAILTO="${MAILTO:-}${MAILTO:+&}cc=`echo $2| ${URI_ENCODE}`"
  372.                         shift
  373.                         ;;
  374.                     --bcc)
  375.                         MAILTO="${MAILTO:-}${MAILTO:+&}bcc=`echo $2| ${URI_ENCODE}`"
  376.                         shift
  377.                         ;;
  378.                     --subject)
  379.                         MAILTO="${MAILTO:-}${MAILTO:+&}subject=`echo $2 | ${URI_ENCODE}`"
  380.                         shift
  381.                         ;;
  382.                     --body)
  383.                         MAILTO="${MAILTO:-}${MAILTO:+&}body=`echo $2 | ${URI_ENCODE}`"
  384.                         shift
  385.                         ;;
  386.                     --attach)
  387.                         MAILTO="${MAILTO:-}${MAILTO:+&}attachment=`echo $2 | ${URI_ENCODE}`"
  388.                         shift
  389.                         ;;
  390.                     *)
  391.                         ;;
  392.                 esac
  393.                 shift;
  394.             done
  395.         
  396.             MAILTO="mailto:${TO}?${MAILTO}"
  397.             ${DESKTOP_LAUNCH} "${MAILTO}" &
  398.         else
  399.             echo "Could not determine a mail client to use."
  400.             exit 2
  401.         fi
  402.         ;;
  403.         
  404.     *)
  405.         echo "Unsupported mail client: `basename $MAILER | sed 's/-.*^//'`"
  406.         exit 2
  407.         ;;
  408. esac  
  409.   
  410. exit 0
  411.