#!/bin/sh
#
# Install Script for UNIX Acrobat Exchange and Reader v. 7.0.0
#
# Copyright (c)1995-2005 Adobe Systems Incorporated
# All Rights Reserved
#
##########################################################################


setLangITA()
{
ST_LANG="ITA"
ST_LANG_SMALL="ita"
ST_READER_RPM_NAME="AdobeReader_ita"
ST_EXCHANGE_RPM_NAME="AdobeAcrobat_ita"
ST_COMMENT_WORD="Commento"
ST_DESCRIPTION_WORD="Descrizione"
ST_COMMENT_RPM="Avvia Adobe Reader 7.0"
ST_DES_RPM="Adobe Reader per Linux. Un'applicazione mediante la quale  possibile visualizzare, esplorare e stampare documenti PDF."
ST_DES_TAG01="Mediante Adobe Reader sar possibile leggere documenti in formato PDF."
ST_DES_TAG02="Adobe Reader consente inoltre di effettuare ricerche nei file PDF,"
ST_DES_TAG03="cercare file PDF su Internet e collaborare alla revisione dei documenti."
ST_DES_TAG04="Per i dettagli, visitare il sito www.adobe.com."
ST_THE_FILE="Il file"
ST_FOR="for"
ST_YES="s"
ST_NO="no"
ST_OR="oppure"
ST_SMALL_Y="s"
ST_SMALL_N="n"
ST_CAPS_Y="S"
ST_CAPS_N="N"
ST_ACCEPT_CAPS="ACCETTA"
ST_DECLINE_CAPS="RIFIUTA"
ST_ACCEPT="accetta"
ST_DECLINE="rifiuta"
ST_VERSION="versione"
ST_STATEMENT_ACCEPT_DECLINE="Digitare \\\"accetta\\\" per accettare i termini e le condizioni dell'accordo di licenza; digitare \\\"rifiuta\\\" per uscire. "
ST_RESTATEMENT_ACCEPT_DECLINE="Risposta non valida. Le due scelte possibili sono \\\"accetta\\\" o \\\"rifiuta\\\". Riprovare?"
ST_ER_INVALID_RESP1="ERRORE: risposta non valida. Previsto:"
ST_ER_INVALID_RESP2="ERRORE: risposta non valida. Riprovare."
ST_ER_INVALID_RESP3="...Riprovare?"
ST_ER_NO_LIC_FILE="ERRORE: impossibile trovare il file di licenza. L'operazione viene interrotta."
ST_TO_ACCEPT="Per accettare i termini e le condizioni di questo Accordo di licenza, immettere"
ST_TO_DECLINE="Per rifiutare i termini e le condizioni di questo Accordo di licenza, immettere"
ST_REQ0101="Digitare"
ST_REQ0102="per accettare i termini e le condizioni di questo Accordo di licenza;"
ST_REQ0103="Digitare"
ST_REQ0104="per uscire. "
ST_ER_LIC_NOT_ACCP="Accordo di licenza non accettato. L'installazione verr interrotta."
ST_FREE_SPACE_INFO01="Questa installazione richiede"
ST_FREE_SPACE_INFO02="MB di spazio libero su disco."
ST_DONE_WORD="Fatto"
ST_ER_INSTALLING01="ERRORE durante l'installazione del file "
ST_ER_INSTALLING02="nome prodotto non valido"
ST_RES_INST_DIR="Immettere la directory di installazione per Adobe Reader"
ST_ER_SAME_FILE_NAME_AS_DIR="esiste, ma non  una directory. Specificare una posizione diversa."
ST_DIR_INFO01="La directory"
ST_DIR_INFO02="non esiste."
ST_QUES_CREAT_DIR="Crearla adesso? [s] "
ST_ER_EXIT="Uscita dall'installazione in corso..."
ST_ER_DIR="ERRORE: impossibile creare la directory "
ST_ER_WRITE="ERRORE: impossibile scrivere nella directory "
ST_ER_NO_LIBCURL01="Impossibile individuare libcurl.so. Alcune funzioni di Adobe Reader potrebbero non essere disponibili"
ST_ER_NO_LIBCURL02="Si consiglia di installare la versione curl"
ST_ER_NO_LIBCURL03="o qualsiasi versione successiva alla versione "
ST_WARN_NO_LIBSSL01="AVVISO: la versione di libssl.so presente nel computer non  compatibile con libssl.so.0.9.6."
ST_WARN_NO_LIBSSL02="Installare libssl.so.0.9.6."
ST_WARN_LD_LIB01="esiste nella directory"
ST_WARN_LD_LIB02="ma questa directory non  inclusa in LD_LIBRARY_PATH."
ST_WARN_LD_LIB03="Includere la directory"
ST_WARN_LD_LIB04="in LD_LIBRARY_PATH"
ST_WARN_LD_LIB05="esiste nella directory"
ST_ER_NO_CONFIG="ERRORE: non  stata trovata alcuna configurazione. L'operazione viene interrotta."
ST_WARN_NO_CONFIG="AVVISO: la configurazione scelta non verr eseguita sulla piattaforma corrente"
ST_QUE_CONT="Proseguire con l'installazione?"
ST_INFO_DEF_CONFIG1="Installa configurazione predefinita"
ST_INFO_DEF_CONFIG2="Sono disponibili per l'installazione le configurazioni seguenti:"
ST_QUE_CONFIG="Immettere il numero della configurazione da installare: "
ST_EXIT_INFO="Esci dall'installazione Acrobat"
ST_PLAT_INDEP_FILES="Installazione dei file indipendenti dalla piattaforma in corso... "
ST_PLAT_DEP_FILES="Installazione dei file dipendenti dalla piattaforma in corso... "
ST_RPM_CAN_NOT_DEL="non pu essere eliminata perch contiene altri file non installati mediante rpm"
ST_WEL_ALK="Benvenuti all'installazione del kit Lingua asiatica."
ST_INFO_ALK01="Questa installazione non funziona se in precedenza non"
ST_INFO_ALK02=" stato installato Adobe Reader versione 7.0 per Unix."
ST_INFO_ALK03="Se Adobe Reader versione 7.0 non  gi stato installato nel"
ST_INFO_ALK04="sistema, procedere all'installazione prima di installare il kit Lingua asiatica."
ST_ER_ALK01="ERRORE: la directory deve essere un percorso assoluto"
ST_ER_ALK02="ERRORE: la directory "
ST_ER_ALK03="non esiste."
ST_ER_ALK04="ERRORE: il file AcroVersion non esiste."
ST_ER_ALK05="ERRORE: versione di Acrobat errata:"
ST_ER_ALK06="ERRORE: impossibile trovare la distribuzione. L'operazione viene interrotta."
ST_IF_ALK07="Immettere il percorso in cui installare Adobe Reader"
ST_INFO_ALK_CMPLT="Installazione completata."
ST_WEL_HLK="Benvenuti all'installazione del pacchetto lingue estese."
ST_INFO_HLK04="sistema, procedere all'installazione prima di installare il pacchetto lingue estese."
ST_INFO_HLK05="Installazione dei file del pacchetto lingue estese in corso... "
ST_WEL_CLK="Benvenuti all'installazione del pacchetto font Europa centrale."
ST_INFO_CLK04="sistema, procedere all'installazione prima di installare il pacchetto font Europa centrale."
ST_INFO_CLK05="Installazione dei file del pacchetto font Europa centrale in corso... "
ST_ER_AR01="ERRORE: impossibile determinare la directory corrente."
ST_ER_AR02="ERRORE: impossibile trovare la directory di installazione."
ST_ER_AR03="ERRORE: impossibile trovare"
ST_INFO_AR01="Il sistema operativo "
ST_INFO_AR02="non  installato."
ST_INFO_AR03="Provare a effettuare l'esecuzione su una piattaforma installata e a connettersi allo schermo."
ST_INFO_AR04="Le piattaforme installate comprendono:"
ST_INFO_AR05="non installata per questa configurazione,"
ST_IBP_MISC_03="Mozilla"
ST_IBP_MISC_04="Firefox"
ST_IBP_MISC_05="Netscape"
ST_IBP_MISC_06="Esci"
ST_IBP_INFO_01="Verr installato il plug-in del browser per acroread."
ST_IBP_INFO_02="Esegui installazione globale"
ST_IBP_INFO_03="Esegui installazione specifica per l'utente"
ST_IBP_INFO_04="Specificare la scelta desiderata"
ST_IBP_INFO_05="Installare un altro browser ?"
ST_IBP_INFO_06="Specificare la directory di installazione per Adobe Reader 7.0"
ST_IBP_INFO_07="Specificare la directory di installazione del browser"
ST_IBP_INFO_08="Il plug-in  gi installato. Sovrascriverlo?"
ST_IBP_INFO_09="Installazione annullata."
ST_IBP_INFO_10="Installazione completata."
ST_IBP_INFO_11="Il plug-in verr abilitato per Mozilla, Firefox e Netscape."
ST_IBP_INFO_12="Se si riscontrano problemi nel funzionamento dell'installazione con il browser in uso, copiare il seguente file nella cartella dei plug-in del browser:"
ST_IBP_INFO_13="Percorso di Acroread specificato"
ST_IBP_INFO_14="Premere <Invio> per continuare"
ST_IBP_INFO_15="In caso di problemi, consultare la documentazione fornita con il browser per l'aggiunta di nuovi plug-in."
ST_IBP_INFO_16="Installazione del plug-in"
ST_IBP_INFO_17="Eseguire l'installazione automatica?"
ST_IBP_INFO_18="Installazione automatica completata."
ST_IBP_INFO_19="Eseguire l'installazione manuale?"
ST_IBP_INFO_20="Installare il plug-in del browser?"
ST_IBP_INFO_21="Impossibile eseguire l'installazione del  plug-in del browser."
ST_IBP_INFO_22_1="Eseguire"
ST_IBP_INFO_22_2="per installare il plug-in del browser."
ST_IBP_INFO_23=" stato aggiunto."
ST_IBP_INFO_24="Si sta tentando di installare il plug-in per il browser"
ST_IBP_INFO_25="Installazione non riuscita"
ST_IBP_ERR_01="Impossibile trovare il file di plug-in del browser"
ST_IBP_ERR_02="Impossibile trovare la cartella di plug-in del browser"
ST_IBP_ERR_03="Impossibile trovare la cartella del browser"
ST_IBP_ERR_04="Impossibile rimuovere la versione precedente del plug-in in"
ST_IBP_ERR_05_1="Impossibile copiare il file di plug-in"
ST_IBP_ERR_05_2="in"
ST_IBP_ERR_06="Impossibile creare la directory"
ST_IBP_ERR_07="Impossibile trovare lo script di installazione dei plug-in del browser."
ST_IBP_ERR_08="esiste gi come file speciale e non pu essere sovrascritto."
ST_IBP_ERR_09="Impossibile interrogare la variabile HOME dall'ambiente. Impossibile trovare la directory home."
ST_IBP_ERR_10="Impossibile trovare la cartella di installazione"
ST_IBP_ERR_11="ERRORE INTERNO ..... Nessun nome di sistema operativo corrispondente."
ST_SEP_INFO_01="Specificare la directory di installazione per Adobe Reader 7.0"
ST_SEP_INFO_02="ERRORE INTERNO ..... Nessun nome OS corrispondente."
ST_SEP_INFO_03="Impossibile trovare i file appropriati nel percorso di installazione."
ST_SEP_INFO_04="Reimpostazione vecchi contesti"
ST_SEP_INFO_05="Impostazione nuovi contesti per i file di libreria"
ST_SEP_INFO_06="I file di libreria verranno aggiornati per renderli compatibili con SELinux."
ST_SEP_INFO_07="Impossibile trovare la cartella di installazione."
ST_SEP_INFO_08="Impostazione dei contesti completata.  possibile controllare il registro in"
ST_SEP_INFO_09="Comando non riuscito"
ST_SEP_INFO_10="Impossibile completare la patch correttamente.  possibile controllare il registro in"
ST_IOP_ERR1="Impossibile registrare il plug-in PDF OpenOffice. Leggere le istruzioni in"
ST_IOP_ERR2="per l'installazione manuale."
ST_IOP_ERR3=" necessario disporre di OpenOffice >= 1.9 perch il plug-in PDF OpenOffice funzioni correttamente. Registrazione del plug-in PDF saltata."
ST_IOP_ERR4="Impossibile individuare il binario di OpenOffice 'soffice' nella directory specificata."
ST_IOP_INFO_01="Specificare la directory in cui  installato OpenOffice:"
ST_IOP_INFO_02="Installare il plug-in OpenOffice?"
ST_IAP_ERR1="Impossibile registrare il plug-in Adobe PDF. Eseguire le istruzioni in"
ST_IAP_INFO_01="Installare il plug-in Adobe PDF?"
ST_IFE_INFO_01="Installare l'estensione Firefox?"
ST_IFE_INFO_02="Specificare il percorso dell'eseguibile Firefox: "
ST_IFE_ERR_01="Firefox exe non trovato o autorizzazioni sull'eseguibile non disponibili."
ST_IDI_INFO_01="Installare Distiller?"
ST_MIME_INFO_01="Accedere di nuovo per far s che le modifiche ai tipi e alle icone MIME diventino effettive."
true
}

setLangITA

echoawk ()
{
  echo $* | awk '{ printf "%s", $0 }'
}

echon ()
{
  echo -n "$*"
}

echoc ()
{
  echo "${*}\c"
}


readlink()
{
    if [ -x /usr/bin/test ]; then
        TestCmd=/usr/bin/test
    else
        TestCmd=test
    fi

    if [ "`$TestCmd -e . 2>/dev/null; echo $?`" = "0" ]; then
        TestCmdOption="-e"
    else
        TestCmdOption="-f"
    fi

    OLDPWD="`pwd`"
    lfile="$1"

    while $TestCmd -h "$lfile" -a $TestCmdOption "$lfile" ; do
        CWD="`dirname "$lfile"`"
        lfile="`basename "$lfile"`"
        cd $CWD
        lfile="`ls -l "$lfile"|sed 's/^.*-> *\(.*\) *$/\1/'`"
    done

    if $TestCmd $TestCmdOption "$lfile" ; then
        CWD="`dirname "$lfile"`"
        lfile="`basename "$lfile"`"
        cd $CWD
        echo `pwd`/$lfile
        cd "$OLDPWD"
        return 0
    fi

    cd "$OLDPWD"
    return 1
}



##########################################################################

yesno()
{
  msg="$1"
  def="$2"
  while true ; do
    echo " "
    $echonl "$msg"
    read answer
    if [ "$answer" ] ; then
      case "$answer" in
        y|Y|yes|YES)
          return 0
          ;;
        n|N|no|NO)
          return 1
          ;;
        *)
          echo " "
          echo "$ST_ER_INVALID_RESP1 \"$ST_YES\" $ST_OR \"$ST_NO\"."
          continue
          ;;
      esac
    else
      return $def
    fi
  done
}

TypeCheck() 
{
  h=`type $1 2> /dev/null`
  case " $h " in
  *' '/*/$1' '*)
    return 0
    ;;
  *)
    return 1
    ;;
  esac
}


PrintRequiredFree()
{
  total=0

  for i in "$@" ; do
    if [ "$i" -a -f "$i" ] ; then

        if [ `uname -s` = "Linux" ] ; then
          size=`ls -lLn "$i" | ( read perm links owner group size date ; echo $size )`
        else
          size=`ls -lLon "$i" | ( read perm links owner size date ; echo $size )`
        fi

      if [ "$size" ] ; then
        total=`expr $total + $size`
      fi
    fi
  done

  megs=`expr $total / 1048576 + 1`

  echo " "
  echo "$ST_FREE_SPACE_INFO01 ${megs} $ST_FREE_SPACE_INFO02"
}

ExtractFiles ()
{

   prev_directory="`pwd 2> /dev/null`"
   cd "$1" 

   case "`uname -s`" in
	 Linux)
		tar --no-same-owner -xpf "$2" ;;
	 HP-UX)
		tar xfo "$2" ;;
     *)
		tar xpfo "$2" ;;
   esac

   cd "$prev_directory"

}


InstallFiles ()
{
  msg="$1"
  install="$2"
  shift
  shift

  echo " "

  for i in "$@" ; do
    if [ "$i" ] ; then
      if [ "$msg" ] ; then
        $echonl "$msg"
        msg=""
      fi
      ExtractFiles "$install" "$i"
    fi
  done

  if [ -z "$msg" ] ; then
    echo "$ST_DONE_WORD"
  fi
}


ExpandDirPath ()
{
    var=`echo $@ |  cut -d "\"" -f 2`

    case "$var" in
    ~*)
      if [ -f /bin/csh -a -x /bin/csh ] ; then
        tmp_var=`/bin/csh -c "echo $var" 2>/dev/null`
        if [ $? -eq 0 ]; then
            var="$tmp_var"
        fi
      fi
      ;;
    ../*|./*|..|.)
      var="`pwd`/${var}"
      ;;
    /*)
    ;;
    *)
        var="`pwd`/${var}"
      ;;
	esac
    eval var=\"${var}\"
    echo $var
}


GetInstallDirectory ()
{
  var=$1
  
  defdir="/usr/local/Adobe/Acrobat7.0"
  case "$OSname" in
    SunOS)
      case "$OSrelease" in
        4.1.3*|4.1.4*|4.1C) defdir="/usr/Adobe/Acrobat7.0" ;;
        5.*) defdir="/opt/Adobe/Acrobat7.0" ;;
      esac
      ;;
    HP-UX)
      case "$OSrelease" in
        *.09.*) defdir="/usr/Adobe/Acrobat7.0" ;;
        *.10.*) defdir="/opt/Adobe/Acrobat7.0" ;;
	*.11.*) defdir="/opt/Adobe/Acrobat7.0" ;;
        *) defdir="/opt/Adobe/Acrobat7.0" ;;
      esac
      ;;
    AIX)
      defdir="/usr/lpp/Adobe/Acrobat7.0"
      ;;
  esac

  while [ -z "$InstallDir" ] ; do

    InstallDir="$defdir"

    echo " "
    $echonl "$ST_RES_INST_DIR ${Version} [${InstallDir}] "
    read answer
    case "$answer" in
      "")
        ;;
      *)
        InstallDir="$answer"
        ;;
    esac

    InstallDir="`ExpandDirPath "$InstallDir"`"

	if [ -f "$InstallDir" ] ; then
      
        echo " "
        echo "\"$InstallDir\" $ST_ER_SAME_FILE_NAME_AS_DIR "
        InstallDir=""
        continue;
      
    fi

    if [ ! -d "$InstallDir" ] ; then
      echo " "
      echo "$ST_DIR_INFO01 \"$InstallDir\" $ST_DIR_INFO02"
      $echonl "$ST_QUES_CREAT_DIR "
      read answer

      if [ "$answer" ] ; then
          case "$answer" in
             "$ST_SMALL_Y" | "$ST_CAPS_Y" )
               mkdir -p "$InstallDir"
             ;;
             "$ST_SMALL_N" | "$ST_CAPS_N" )
               echo "$ST_ER_EXIT"
               exit 0
             ;;
          esac
      else
         mkdir -p "$InstallDir"
      fi

      if [ ! -d "$InstallDir" ] ; then
        echo " "
        echo "$ST_ER_DIR \"$InstallDir\"."
        InstallDir=""
        continue;
      fi
    fi
 
    export "InstallDir"


    if ( echo foo > "$InstallDir"/AcroWriteTest ) 2> /dev/null ; then
      rm -f "$InstallDir"/AcroWriteTest
      break
    else
      echo " "
      echo "$ST_ER_WRITE \"$InstallDir\"."
      InstallDir=""
      continue
    fi
  done

 

  ReadInstallDir="$InstallDir"
}


check_file_in_named_path()
{
     if [ -x "$2/$1" ] ; then
        return 1
     fi

     return 0
}


check_file_in_path()
{
    OLD_IFS=$IFS
    IFS=":"

    if [ -n "$PATH" ] ; then
        for i in $PATH; do
            if [ -d "$i" ] ; then
                check_file_in_named_path "$1" "$i"
                if [ $? -eq 1 ]; then
                    IFS=$OLD_IFS
                    echo "$i/$1"
                    return 1
                fi
           fi
        done
     fi

     IFS=$OLD_IFS
     return 0
}


#Make Soft Links To gnome-speech libraries
MakeLibGnomeSpeechLinks()
{
    InstallDir="$1/Reader"
    ConfiguredDir="$2"
    LibDir="$InstallDir/$ConfiguredDir/lib"

    TESTSPEECHEXEC=`check_file_in_path "test-speech"`
    if [ $? -ne 0 ]
    then
        check_file_in_path "ldd" >/dev/null
        if [ $? -ne 0 ]
        then
            check_file_in_path "awk" >/dev/null
            if [ $? -ne 0 ]
            then
                rm -f "$LibDir"/libORBit-2.so 2>/dev/null
                rm -f "$LibDir"/libbonobo-2.so 2>/dev/null
                rm -f "$LibDir"/libbonobo-activation.so 2>/dev/null
                rm -f "$LibDir"/libgnomespeech.so 2>/dev/null
                LIB_ORBit2="`ldd $TESTSPEECHEXEC 2>/dev/null | grep -i libORBit-2.* | cut -d '>' -f2 | cut -d '(' -f 1 |awk '{print $1}' `"
                LIB_BONOBO="`ldd $TESTSPEECHEXEC 2>/dev/null | grep -i bonobo-2.* | cut -d '>' -f2 | cut -d '(' -f 1 |awk '{print $1}' `"
                LIB_BONOBOACTIVATION="`ldd $TESTSPEECHEXEC 2>/dev/null | grep -i bonobo-activation.* | cut -d '>' -f2 | cut -d '(' -f 1 |awk '{print $1}' `"
                LIB_GNOMESPEECH="`ldd $TESTSPEECHEXEC 2>/dev/null | grep -i libgnomespeech.* | cut -d '>' -f2 | cut -d '(' -f 1 |awk '{print $1}' `"
                if [ -f "$LIB_ORBit2" -a -f "$LIB_BONOBO" -a -f "$LIB_BONOBOACTIVATION" -a -f "$LIB_GNOMESPEECH" ]
                then
                    ln -s "$LIB_ORBit2" "$LibDir/libORBit-2.so"
                    ln -s "$LIB_BONOBO" "$LibDir/libbonobo-2.so"
                    ln -s "$LIB_BONOBOACTIVATION" "$LibDir/libbonobo-activation.so"
                    ln -s "$LIB_GNOMESPEECH" "$LibDir/libgnomespeech.so"
                fi
            fi
        fi
    fi
}

MakeLibLDAPLinks()
{
InstallDir="$1/Reader"

if [ ! -e /usr/lib/libldap.so ]
then
	rm -f "$InstallDir"/intellinux/lib/libldap.so 2>/dev/null

	LIB_LDAP=`ls -tr /usr/lib/libldap.so*  2>/dev/null | tail -n 1`

	if [ "$LIB_LDAP" = "" ] 
	then
		LIB_LDAP=`ls -tr /usr/lib/libldap* 2>/dev/null | grep -v libldap_r | grep -v libldapcpp | grep '\.so' | tail -n 1`
	fi

	if [ "$LIB_LDAP" != "" ] 
	then
		ln -s $LIB_LDAP "$InstallDir"/intellinux/lib/libldap.so
	fi
fi

if [ ! -e /usr/lib/liblber.so ]
then
	rm -f "$InstallDir"/intellinux/lib/liblber.so 2>/dev/null

	LIB_LBER=`ls -tr /usr/lib/liblber.so* 2>/dev/null | tail -n 1`

	if [ "$LIB_LBER" = "" ] 
	then
		LIB_LBER=`ls -tr /usr/lib/liblber* 2>/dev/null | grep -v liblber_r | grep '\.so' | tail -n 1`
	fi

	if [ "$LIB_LBER" != "" ] 
	then
		ln -s $LIB_LBER "$InstallDir"/intellinux/lib/liblber.so
	fi
fi
}


InstallBrowserPlugin()
{
    echo ""
    while :
      do
      $echonl "$ST_IBP_INFO_20 [$ST_SMALL_Y/$ST_SMALL_N] "
      read OVERWRITE_CHOICE
      
      if [ "$OVERWRITE_CHOICE" = "$ST_SMALL_Y" ] || [ "$OVERWRITE_CHOICE" = "$ST_CAPS_Y" ] || [ -z "$OVERWRITE_CHOICE" ]
	  then
	  break
      elif [ "$OVERWRITE_CHOICE" = "$ST_SMALL_N" ] || [ "$OVERWRITE_CHOICE" = "$ST_CAPS_N" ]
	  then
	  return 0
	  break
      fi
    done

    if [ -f "$ReadInstallDir/Browser/install_browser_plugin" ]
	then
	$ReadInstallDir/Browser/install_browser_plugin "$ReadInstallDir"
    else
	echo "$ST_IBP_ERR_07"
	exit 1
    fi
}


UpdateOldGnomeFile()
{
    awk '
BEGIN   { state = 0; }

/^application\/pdf$/    {
        state = 1;
        print $0;
        next;
    }

/^[^ \t].*/ {
        state = 0;
        print $0;
        next;
    }

/^[ \t][ \t]*default_application_id=/ && (state == 1) {
        print gensub(/(^[ \t][ \t]*default_application_id=).*$/, "\\1acroread", "g");
        next;
    }

/.*/    { print $0 }' "$1" > /tmp/acroread.tmp 2>/dev/null

    if [ $? -eq 0 ]; then
        mv -f /tmp/acroread.tmp "$1" 2>/dev/null || rm -f /tmp/acroread.tmp 2>/dev/null
    fi
}


ReadKDEConfigFile()
{
    awk '
BEGIN     { state = 0; MaxPreference = 0; MaxIndex = 0; }

/^[ \t]*\[([^ ]*)[ \t]*-[ \t]*([0-9][0-9]*)[ \t]*\][ \t]*$/  {
                                        app_type = gensub(/^[ \t]*\[([^ ]*)[ \t]*-[ \t]*([0-9][0-9]*)[ \t]*\][ \t]*$/, "\\1", "g");
                                        if ( app_type == "application/pdf" )
                                        {
                                            state = 1;
                                            app_index = gensub(/\[(.*)[ \t]*-[ \t]*([0-9][0-9]*)\]$/, "\\2", "g");
                                            if ( MaxIndex < app_index )
                                                MaxIndex = app_index;
                                        }
                                        else
                                            state = 0;
                                }

/^[ \t]*Preference[ \t]*=[ \t]*[0-9][0-9]*[ \t]*$/ {
                                        if (state == 1) {
                                           app_pref = gensub(/^[ \t]*Preference=[ \t]*([0-9][0-9]*)[ \t]*$/, "\\1", "g");
                                           if ( MaxPreference < app_pref )
                                                MaxPreference = app_pref;
                                        }
                                     }
/.*/      { print $0 }

END       { printf("\n[application/pdf - %d]\nAllowAsDefault=true\nApplication=AdobeReader.desktop\nGenericServiceType=Application\nPreference=%d\nServiceType=application/pdf\n", MaxIndex + 1, MaxPreference + 1);}' "$1" > /tmp/acroread.tmp 2>/dev/null

    if [ $? -eq 0 ]; then
        mv -f /tmp/acroread.tmp "$1" 2>/dev/null || rm -f /tmp/acroread.tmp 2>/dev/null
    fi
}


UpdateIcon()
{
    if [ -n "$1" -a -n "$2" ]; then
        rm -f "$2" 2>/dev/null
        ln -s "$1" "$2" 2>/dev/null
    fi
}


# $1 => Directory where Adobe Acrobat is installed

UpdateDefaultIcons()
{
    InstallDir="$1"
    IconDir="$GNOME_BASE_DIR/share/icons"

    if [ -z "$InstallDir" ]; then
        exit 1
    fi


    for IconSize in 16x16 20x20 24x24 32x32 36x36 48x48 64x64 96x96 128x128 192x192; do
        for gnomeDir in "$GNOME_BASE_DIR/share/icons/Bluecurve/$IconSize/mimetypes" "$GNOME_BASE_DIR/share/icons/hicolor/$IconSize/apps" "$GNOME_BASE_DIR/share/icons/gnome/$IconSize/mimetypes" ; do
            if [ -d "$gnomeDir" ]; then
                UpdateIcon "$InstallDir/Resource/Icons/$IconSize/AdobeReader.png" "$gnomeDir/gnome-mime-application-pdf.png" 2>/dev/null
                UpdateIcon "$InstallDir/Resource/Icons/$IconSize/vnd.fdf.png" "$gnomeDir/gnome-mime-application-vnd.fdf.png" 2>/dev/null
                UpdateIcon "$InstallDir/Resource/Icons/$IconSize/vnd.adobe.pdx.png" "$gnomeDir/gnome-mime-application-vnd.adobe.pdx.png" 2>/dev/null
                UpdateIcon "$InstallDir/Resource/Icons/$IconSize/vnd.adobe.xdp+xml.png" "$gnomeDir/gnome-mime-application-vnd.adobe.xdp+xml.png" 2>/dev/null
                UpdateIcon "$InstallDir/Resource/Icons/$IconSize/vnd.adobe.xfdf.png" "$gnomeDir/gnome-mime-application-vnd.adobe.xfdf.png" 2>/dev/null
            fi
        done

        for kdeDir in "$KDE_BASE_DIR/share/icons/Bluecurve/$IconSize/mimetypes" "$KDE_BASE_DIR/share/icons/default.kde/$IconSize/mimetypes" "$KDE_BASE_DIR/share/icons/hicolor/$IconSize/apps" ; do
            if [ -d "$kdeDir" ]; then
                UpdateIcon "$InstallDir/Resource/Icons/$IconSize/AdobeReader.png" "$kdeDir/pdf.png" 2>/dev/null
                UpdateIcon "$InstallDir/Resource/Icons/$IconSize/vnd.fdf.png" "$kdeDir/vnd.fdf.png" 2>/dev/null
                UpdateIcon "$InstallDir/Resource/Icons/$IconSize/vnd.adobe.pdx.png" "$kdeDir/vnd.adobe.pdx.png" 2>/dev/null
                UpdateIcon "$InstallDir/Resource/Icons/$IconSize/vnd.adobe.xdp+xml.png" "$kdeDir/vnd.adobe.xdp+xml.png" 2>/dev/null
                UpdateIcon "$InstallDir/Resource/Icons/$IconSize/vnd.adobe.xfdf.png" "$kdeDir/vnd.adobe.xfdf.png" 2>/dev/null
            fi
        done
done
}


UpdateConfigurationFiles()
{
    GNOME_CONFIG_FILE="$GNOME_BASE_DIR/share/applications/defaults.list"
    GNOME_OLD_CONFIG_FILE="$GNOME_BASE_DIR/share/mime-info/gnome-vfs.keys"
    KDE_CONFIG_FILE="$KDE_BASE_DIR/share/config/profilerc"

    if [ -f "$GNOME_CONFIG_FILE" ]; then
        ( grep -v "^application\/pdf=." < "$GNOME_CONFIG_FILE" ; echo 'application/pdf=AdobeReader.desktop' ) > /tmp/acroread.tmp 2>/dev/null
        mv -f /tmp/acroread.tmp "$GNOME_CONFIG_FILE" 2>/dev/null || rm -f /tmp/acroread.tmp 2>/dev/null
    else
        if [ -f "$GNOME_OLD_CONFIG_FILE" ]; then
            UpdateOldGnomeFile  "$GNOME_OLD_CONFIG_FILE"
        fi
    fi

    if [ -f "$KDE_CONFIG_FILE" ]; then
        ReadKDEConfigFile "$KDE_CONFIG_FILE"
    fi

    rm -f /tmp/acroread.tmp 2>/dev/null
}


InstallReader()
{
  ReadConfig="$1"
  ReadPlatformTar="$2"
  SearchPlatformTar="$3"
  CustomPlatformTar="$4"

  PrintRequiredFree "$ReadTar" "$SearchTar" "$CustomTar" \
    "$ReadPlatformTar" "$SearchPlatformTar" "$CustomPlatformTar"


  if [ -z "$ReadInstallDir" ] ; then
    GetInstallDirectory
    SilentMode="No"
  else
    ReadInstallDir=`ExpandDirPath "$ReadInstallDir"`
    SilentMode="Yes"

    if [ -f "$ReadInstallDir" ]; then
        echo "\"$ReadInstallDir\" $ST_ER_SAME_FILE_NAME_AS_DIR "
        exit 1
    fi

    mkdir -p "$ReadInstallDir" 2>/dev/null

    if [ $? -ne 0 ]; then
        echo "$ST_ER_DIR \"$ReadInstallDir\"."
        exit 1
    fi

    touch "$ReadInstallDir"/AcroWriteTest 2>/dev/null 

    if [ $? -eq 0 ]; then
        rm -f "$ReadInstallDir"/AcroWriteTest 2>/dev/null
    else
        echo "$ST_ER_WRITE \"$ReadInstallDir\"."
        exit 1
    fi
  fi

  echo $ReadInstallDir
  InstallFiles "$ST_PLAT_INDEP_FILES" \
    "$ReadInstallDir" "$ReadTar" "$SearchTar" "$CustomTar"
  InstallFiles "$ST_PLAT_DEP_FILES" \
    "$ReadInstallDir" \
    "$ReadPlatformTar" "$SearchPlatformTar" "$CustomPlatformTar"

  if [ `uname -s` = "Linux" ] ; then
    MakeLibLDAPLinks "$ReadInstallDir"
  fi
  if [ `uname -s` = "SunOS" ] || [ `uname -s` = "Linux" ] || [ `uname -s` = "AIX" ] ; then
    MakeLibGnomeSpeechLinks "$ReadInstallDir" "$ReadConfig"
  fi 

  if [ "$SilentMode" = "No" ]; then
    InstallBrowserPlugin "$ReadInstallDir"
  else
    echo ""
    echo "$ST_IBP_INFO_21"
    echo "$ST_IBP_INFO_22_1" \"$ReadInstallDir/Browser/install_browser_plugin\" "$ST_IBP_INFO_22_2"
  fi

  rm -f /usr/bin/acroread 2>/dev/null
  ln -s "$ReadInstallDir"/bin/acroread /usr/bin/acroread 2>/dev/null

  rm -f /usr/share/applications/AdobeReader.desktop 2>/dev/null
  ln -s "$ReadInstallDir"/Resource/Support/AdobeReader_GNOME.desktop /usr/share/applications/AdobeReader.desktop 2>/dev/null

  rm -f /usr/share/pixmaps/AdobeReader.desktop 2>/dev/null
  ln -s "$ReadInstallDir"/Resource/Icons/AdobeReader.png /usr/share/pixmaps/AdobeReader.png 2>/dev/null

  if [ "`uname -s`" = "Linux" ]; then
      check_file_in_path kde-config >/dev/null

      if [ $? -ne 0 ]; then
        KDE_BASE_DIR="`kde-config --prefix`"
      elif [ -x /opt/kde3/bin/kde-config ]; then
        KDE_BASE_DIR="/opt/kde3"
      elif [ -x /opt/kde/bin/kde-config ]; then
        KDE_BASE_DIR="/opt/kde"
      else
        KDE_BASE_DIR="/usr"
      fi

      GNOME_BASE_DIR=`check_file_in_path gnome-open`

      if [ $? -ne 0 ]; then
        GNOME_BASE_DIR="`dirname "$GNOME_BASE_DIR"`"
        GNOME_BASE_DIR="`dirname "$GNOME_BASE_DIR"`"
      elif [ -x /opt/gnome/bin/gnome-open ]; then
        GNOME_BASE_DIR="/opt/gnome"
      else
        GNOME_BASE_DIR="/usr"
      fi

      UpdateDefaultIcons "$ReadInstallDir"
      UpdateConfigurationFiles

      if [ -d "$GNOME_BASE_DIR/share/mime/packages" ]; then
          UpdateIcon "$ReadInstallDir/Resource/Support/AdobeReader.xml" "$GNOME_BASE_DIR/share/mime/packages/AdobeReader.xml" 
      fi

      if [ -d "$KDE_BASE_DIR/share/mimelnk/application" ]; then
          UpdateIcon "$ReadInstallDir/Resource/Support/vnd.fdf.desktop" "$KDE_BASE_DIR/share/mimelnk/application/vnd.fdf.desktop"
          UpdateIcon "$ReadInstallDir/Resource/Support/vnd.adobe.pdx.desktop" "$KDE_BASE_DIR/share/mimelnk/application/vnd.adobe.pdx.desktop"
          UpdateIcon "$ReadInstallDir/Resource/Support/vnd.adobe.xdp+xml.desktop" "$KDE_BASE_DIR/share/mimelnk/application/vnd.adobe.xdp+xml.desktop"
          UpdateIcon "$ReadInstallDir/Resource/Support/vnd.adobe.xfdf.desktop" "$KDE_BASE_DIR/share/mimelnk/application/vnd.adobe.xfdf.desktop"
      fi

      OLD_IFS="$IFS"
      IFS=':'

      for idir in $PATH; do
        if [ -x "${idir}"/update-mime-database ]; then
            "${idir}"/update-mime-database "$GNOME_BASE_DIR/share/mime" >/dev/null 2>&1
        fi

        if [ -x "${idir}"/update-desktop-database ]; then
            "${idir}"/update-desktop-database >/dev/null 2>&1
        fi
      done

      IFS="$OLD_IFS"
      OLD_IFS=""
  fi

  if [ "`id 2>/dev/null| cut -d= -f2| cut -d'(' -f1`" = "0" ]; then
    echo "$ST_MIME_INFO_01"
  fi

  ReadTar=""
  SearchTar=""
  CustomTar=""
}


ShowUsage()
{
	echo "Usage : $0 [--install_path=dir]"
}


##############################################################

#
# Initialization:
#

umask 022
ReadInstallDir=""

case $# in
    "1")    
	case "$1" in 
	--install_path=*)
		ReadInstallDir="`echo $1 | cut -d= -f2-`"
		if [ "$ReadInstallDir" = "" ]; then
			ShowUsage "$@"
			exit 1
		fi;;
	*)
		ShowUsage "$@"
		exit 1 ;;
	esac
	;;

    "0")    ;;

    *)    ShowUsage "$@"
        	exit 1;;
esac


ScriptName=`basename "$0"`
CurrentDirectory=`pwd`
eval CurrentDirectory=\"${CurrentDirectory}\"

ScriptDirectory=`dirname "$0"`
eval ScriptDirectory=\"${ScriptDirectory}\"

AcroSerNum=""
AcroCompName=""
case "${ScriptDirectory}" in
  /*) ;;
  .) ScriptDirectory="$CurrentDirectory" ;;
  *) ScriptDirectory="$CurrentDirectory"/"$ScriptDirectory" ;;
esac

 TypeCheck uname

  if [ $? -eq 0 ] ; then
    OSname=`uname -s`
    if [ "$OSname" = "AIX" ] ; then
      OSrelease=`uname -a | ( read name host minor major foo ; echo $major.$minor )`
    else
      OSrelease=`uname -r`
    fi
  else
    OSname=unknown
    OSrelease=unknown
  fi



if [ `echo "x\c"` = "x" ] ; then
  echonl=echoc
else
  echonl=echon
fi

Version=7.0.8

#
# Get the filenames:
#

for i in "${ScriptDirectory}"/* "${ScriptDirectory}"/../COMMON/* "${ScriptDirectory}"/../common/*; do
  if [ -f "$i" ] ; then
    case $i in
      */common.tar*|*/COMMON.TAR*)
        ReadTar="$i"
        ;;
      */search.tar*|*/SEARCH.TAR*)
        SearchTar="$i"
        ;;
      */custom.tar*|*/CUSTOM.TAR*)
        CustomTar="$i"
        ;;
      */solrdr.tar*|*/SSOLR.TAR*)
        ReadSparcSolarisTar="$i"
        ;;
      */hpuxrdr.tar*|*/HPUXRDR.TAR*)
        ReadHppaHpuxTar="$i"
        ;;
      */aixrdr.tar*|*/AIXRDR.TAR*)
        ReadRS6000AIXTar="$i"
        ;;
      */ilinxr.tar*|*/ILINXR.TAR*)
        ReadIntelLinuxTar="$i"
        ;;
      */ilinxc.tar*|*/ILINXC.TAR*)
        CustomIntelLinuxTar="$i"
        ;;
    esac
  fi
done


#
# Validate the configurations:
#

NumConfigs=0

if [ "$ReadTar" ] ; then
  if [ "$ReadSparcSolarisTar" ] ; then
    NumConfigs=`expr $NumConfigs + 1`
    ReadSparcSolarisNum=$NumConfigs
  fi
  if [ "$ReadHppaHpuxTar" ] ; then
    NumConfigs=`expr $NumConfigs + 1`
    ReadHppaHpuxNum=$NumConfigs
  fi
  if [ "$ReadRS6000AIXTar" ] ; then
    NumConfigs=`expr $NumConfigs + 1`
    ReadRS6000AIXNum=$NumConfigs
  fi
  if [ "$ReadIntelLinuxTar" ] ; then
    NumConfigs=`expr $NumConfigs + 1`
    ReadIntelLinuxNum=$NumConfigs
  fi
fi
if [ "$NumConfigs" = "0" ] ; then
  echo " "
  echo "$ST_ER_NO_CONFIG"
  echo " "
  exit 1
elif [ "$NumConfigs" = "1" ] ; then
  SingleConfig=true
fi

NumConfigs=`expr $NumConfigs + 1`
ExitNum=$NumConfigs


#
# Check if there is a configuration supported by this OS.
#

case "$OSname" in
  SunOS)
    case "$OSrelease" in
      4.1.3*|4.1.4*|4.1C)
        ReadDefaultNum="$ReadSparcSunNum"
        DefaultName="SPARC/SunOS 4.1.3 and later"
        ;;
      5.1|5.1.*|5.2|5.2.*)
        ;;
      5.*)
        MachArch=`uname -p`
        case "$MachArch" in
          sparc)
            ReadDefaultNum="$ReadSparcSolarisNum"
            DefaultName="SPARC/Solaris 2.x"
            ;;
          esac
        ;;
    esac
    ;;
  HP-UX)
    case "$OSrelease" in
      *.09.*|*.10.*|*.11.*)
        ReadDefaultNum="$ReadHppaHpuxNum"
        DefaultName="HP-UX"
        ;;
    esac
    ;;
  AIX)
    case "$OSrelease" in
      4.*|5.*)
        ReadDefaultNum="$ReadRS6000AIXNum"
        DefaultName="AIX"
      ;;
    esac
    ;;
  Linux)
    ReadDefaultNum="$ReadIntelLinuxNum"
    DefaultName="Intel/Linux"
    ;;
esac

if  [ -z "$ReadDefaultNum" ] ; then
  echo ""
  echo "$ST_WARN_NO_CONFIG ($OSname/$OSrelease)."
  if [ -z "$ReadInstallDir" ]; then
      if yesno "$ST_QUE_CONT [$ST_SMALL_N] " 1 ; then
        :
      else
        exit 1
      fi
  fi
fi


#
# If multiple confurations, get the default configuration
#

if [ -z "$SingleConfig" ] ; then
  if [ "$ReadDefaultNum" ] ; then
      if [ -n "$ReadInstallDir" ]; then
        DefaultConfig="$ReadDefaultNum"
      elif yesno "Install default configuration, Acrobat Reader ${Version} for $DefaultName? [$ST_SMALL_Y] " 0 ; then
        DefaultConfig="$ReadDefaultNum"
      fi

  fi
fi


#
# If a single configuration available the loop will be executed once
# otherwise it will ask for each configuration to install
#

while [ "$NumConfigs" -gt 1 ] ; do

  #
  # If multiple configuration ask for which to install
  #

  if [ "$SingleConfig" ] ; then

    ConfigNum=1

  elif [ "$DefaultConfig" ] ; then

    ConfigNum="$DefaultConfig"

  else

    #
    # Display multiple configurations
    #

    echo " "
    echo "$ST_INFO_DEF_CONFIG2"
    echo " "

    if [ "$AcroSparcSolarisNum" ] ; then
      echo "  ${AcroSparcSolarisNum}. Acrobat ${Version} for SPARC/Solaris 2.x"
    fi
    if [ "$AcroHppaHpuxNum" ] ; then
      echo "  ${AcroHppaHpuxNum}. Acrobat ${Version} for HP-UX"
    fi
    if [ "$AcroRS6000AIXNum" ] ; then
      echo "  ${AcroRS6000AIXNum}. Acrobat ${Version} for AIX"
    fi
    if [ "$AcroIntelLinuxNum" ] ; then
      echo "  ${AcroIntelLinuxNum}. Acrobat ${Version} for Intel/Linux"
    fi
    if [ "$ReadSparcSolarisNum" ] ; then
        echo "  ${ReadSparcSolarisNum}. Acrobat Reader ${Version} for SPARC/Solaris 2.x"
    fi
    if [ "$ReadHppaHpuxNum" ] ; then
        echo "  ${ReadHppaHpuxNum}. Acrobat Reader ${Version} for HP-UX"
    fi
    if [ "$ReadRS6000AIXNum" ] ; then
      echo "  ${ReadRS6000AIXNum}. Acrobat Reader ${Version} for AIX"
    fi
    if [ "$ReadIntelLinuxNum" ] ; then
      echo "  ${ReadIntelLinuxNum}. Acrobat Reader ${Version} for Intel/Linux"
    fi
    if [ "$ExitNum" ] ; then
        echo "  ${ExitNum}. $ST_EXIT_INFO"
    fi

    echo " "
    $echonl "$ST_QUE_CONFIG"
    read ConfigNum

  fi


  #
  # Install the configuration
  #

  if [ -z "$ConfigNum" ] ; then

    echo " "
    echo "$ST_ER_INVALID_RESP2"
    continue
  elif [ "$ConfigNum" = "$ReadSparcSolarisNum" ] ; then

    InstallReader sparcsolaris "$ReadSparcSolarisTar" \
      "$SearchSparcSolarisTar" "$CustomSparcSolarisTar"
    ReadSparcSolarisNum=""
  elif [ "$ConfigNum" = "$ReadHppaHpuxNum" ] ; then

    InstallReader hppahpux "$ReadHppaHpuxTar" \
      "$SearchHppaHpuxTar" "$CustomHppaHpuxTar"
    ReadHppaHpuxNum=""
  elif [ "$ConfigNum" = "$ReadRS6000AIXNum" ] ; then

    InstallReader rs6000aix "$ReadRS6000AIXTar" \
      "$SearchRS6000AIXTar" "$CustomRS6000AIXTar"
    ReadRS6000AIXNum=""

  elif [ "$ConfigNum" = "$ReadIntelLinuxNum" ] ; then

    InstallReader intellinux "$ReadIntelLinuxTar" \
      "$SearchIntelLinuxTar" "$CustomIntelLinuxTar"
    ReadIntelLinuxNum=""

  elif [ "$ConfigNum" = "$ExitNum" ] ; then

    break

  else

    echo " "
    echo "$ST_ER_INVALID_RESP2"
    continue

  fi

  if [ "$DefaultConfig" ] ; then
    break;
  fi

  if [ -z "$MultipleInstall" ] ; then
    break;
  fi

  NumConfigs=`expr $NumConfigs - 1`

done

echo " "
exit 0


