#!/bin/sh
#
# Usage:  $0 "Message-code" "Message-arg-1" "Message-arg-2" ....


# Message code  (alphabetical sort by name)
case "$1" in


  # Have ACL but still can't read "Application Support" or is empty
  "M-ACL-Failure-Get-Help")
    {
      echo "<strong>ERROR:</strong> No se puede leer '$SYNOPKG_PKGDEST_VOL/Plex/Library/Application Support' <br>"
      echo "<br>"
      echo "Busque ayuda adicional en nuestros foros para resolver este problema".
    } >> $SYNOPKG_TEMP_LOGFILE
    ;;

# Preinstall/Postinstall - DSM 6 upgrade - Do not have Full Control of the shared fold
  "M-ACL-Failure-Plex-Share")
    {
      echo "<br><p style='color:red'>ERROR: <strong>PlexMediaServer</strong> no tiene <strong>Control total</strong> del recurso compartido <strong>Plex</strong> existente. </p><br>"
    } >> "$SYNOPKG_TEMP_LOGFILE"
    ;;

  # Postinstall - DSM 6 upgrade - Check if ready - still don't not have full control of all subdirs
  "M-ACL-Failure-Plex-Subdirs")
    {
      echo "<br><p style='color:red'>ERROR: <strong>PlexMediaServer</strong> no tiene control total de todas las subcarpetas en <strong>Plex</strong> share.</p><br>"
    } >> "$SYNOPKG_TEMP_LOGFILE"
    ;;

  # Pre/Post install remedy steps
  "M-ACL-Procedure")
    {
      echo "Realice los siguientes pasos:<br><br>"
      echo "1. Cancele esta instalación. Desinstale el paquete.<br>"
      echo "2. Abra <strong>Panel de control</strong> - <strong>Carpeta compartida</strong><br>"
      echo "3. Seleccione el recurso compartido <strong>Plex</strong> existente y haga clic en <strong>EDITAR</strong> <br>"
      echo "4. Haga clic en la pestaña <strong>Permisos</strong> <br>"
      echo "5. Cambie el menú desplegable de <strong> Usuarios locales </strong> a <strong> Usuario interno del sistema </strong> <br>"
      echo "6. Para el usuario '<strong>PlexMediaServer</strong>', haga clic en la casilla de verificación <strong>Personalizado</strong><br>"
      echo "7. Marque las casillas de verificación del grupo <strong>Administración, lectura y escritura</strong> del usuario de <strong>PlexMediaServer</strong><br>"
      echo "8. Haga clic en <strong> Listo </strong> para cerrar la configuración de permisos. <br>"
      echo "   Confirme que 'PlexMediaServer' tenga asignado el permiso de 'Control total'<br>"
      echo "9. Haga clic en <strong>Aplicar a esta carpeta, subcarpetas y archivos <p style='color:red'> (IMPORTANTE)</p></strong><br>"
      echo "10. Haga clic en <strong>Guardar</strong> para confirmar los nuevos permisos".
      echo "Espere 2 minutos / 1000 elementos indexados para completarse. <br>"
      echo "11. Vuelva a instalar el paquete Plex Media Server <br>"
    } >> "$SYNOPKG_TEMP_LOGFILE"
    ;;

  # Postinstall - DSM 6 upgrade - Final pre-migration check - Something interrupted / interfered with ACL setting by FileStation
  "M-Cannot-Migrate-ACL-Incomplete")
    {
      echo "<strong>PlexMediaServer no puede migrar la información de su servidor existente.</strong> <br>"
      echo "<br><p style='color:red'> ERROR: <strong>PlexMediaServer</strong> todavía no tiene <strong>Control total</strong> de todas las subcarpetas en <strong>Plex</strong> compartir.</p><br>"
    } >> "$SYNOPKG_TEMP_LOGFILE"
    ;;

  # Claim with token but no token string provided.
  "M-Claim-No-Token-Provided")
    {
      echo "<br><strong>ERROR: ERROR: No se proporcionó el token de reclamo. Vuelva a intentarlo.</strong>"
    } >> "$SYNOPKG_TEMP_LOGFILE"
    ;;

  # Could not get Claim token
  "M-Could-Not-Claim")
    {
      echo "<strong>ERROR: No se pudo completar el diálogo con Plex.tv. No se puede reclamar.</strong><br><br>"
      echo "O el tiempo de instalación fue demasiado largo o existen dificultades para comunicarse con Plex.tv.<br><br>"
      echo "Vuelva a intentarlo o busque ayuda en nuestro Foro de soporte.<br>"
    } > $SYNOPKG_TEMP_LOGFILE
    ;;

  # Claim Successful
  "M-Claim-Successful")
    {
      echo "<br>PlexMediaServer reclamado con éxito por \"$2\"."
    } > $SYNOPKG_TEMP_LOGFILE
    ;;

  # Unexpected error(s) changing ownership of files
  "M-Error-Changing-Ownership")
    {
      echo "<strong>ERROR:  Errores inesperados al cambiar la propiedad.</strong><br>"
      echo "<br><strong>Error en la migración.  El procesamiento se detiene.</strong><br>"
      echo "Consulte el registro de migración, '$2', para obtener más detalles<br>"
      echo "Consulte nuestros foros para obtener ayuda.<br>"
    }  >> $SYNOPKG_TEMP_LOGFILE
    ;;

  # Could not fix fixed path subtitle links
  "M-Error-Updating-Subtitles")
    {
      echo "<strong>ERROR: Errores inesperados al actualizar los enlaces de los subtítulos.</strong><br>"
      echo "<br><strong>Error en la migración. El procesamiento se detiene.</strong><br>"
      echo "Consulte el registro de migración, '$2', para obtener más detalles<br>"
      echo "Consulte nuestros foros para obtener ayuda.<br>"
    }  >> $SYNOPKG_TEMP_LOGFILE
    ;;

  #  Post Install/Upgrade/Migration - Installation complete media permissions reminder
  "M-Install-Complete-Check-Permissions")           # (dsm-migration-tool)
    {
      echo "<br><strong><p style='color:blue'><big><b>¡Instalación exitosa!</big></p>"
      echo "<br><br><p style='color:blue'>Nota: Si Plex no puede acceder a sus medios, verifique que el usuario <strong>PlexMediaServer</strong> tenga permiso en el <strong>Panel de control </strong>.</p><br>"
      echo "Establezca el acceso a sus recursos compartidos multimedia realizando los siguientes pasos: <br> <br>"
      echo "1. Abra el <strong>Panel de control</strong> y seleccione <strong>Carpeta compartida</strong> <br>"
      echo "2. Seleccione el recurso compartido que contiene sus medios y haga clic en <strong>Editar</strong> <br>"
      echo "3. Haga clic en la pestaña <strong> Permisos </strong> <br>"
      echo "4. Cambie el menú desplegable de <strong>Usuarios locales</strong> a <strong>Usuario interno del sistema</strong><br>"
      echo "5. Marque la casilla de verificación <strong>Lectura / Escritura</strong> del usuario de <strong>PlexMediaServer</strong><br>"
      echo "6. Haga clic en <strong>Guardar</strong> para confirmar los nuevos permisos <br>"
      echo "7. Repita los pasos 2 a 6 para cada recurso compartido al que desee que Plex Media Server acceda <br>"
    } >> "$SYNOPKG_TEMP_LOGFILE"
    ;;

  # Postinstall/Postupgrade - LogPathname cannot be written to
  "M-LogPath-No-Write-Access")
    {
      echo "<br><strong>ERROR: No se puede escribir en '$2'.  Verifique el nombre de la ruta y los permisos. Vuelva a intentarlo</strong>"
    } >> "$SYNOPKG_TEMP_LOGFILE"
    ;;

  # Postinstall/PostUpgrade - Log option selected but no path given
  "M-LogPath-No-Path-Specified")
    {
      echo "<br><strong>ERROR: ERROR: se seleccionó la opción de registro, pero no se proporcionó ninguna ruta. Vuelva a intentarlo.</strong>"
    } >> "$SYNOPKG_TEMP_LOGFILE"
    ;;

  #  Migration - Cleaning completed
  "M-Migration-Cleaned")
    echo "Limpió '$2'.<br>"  >> $SYNOPKG_TEMP_LOGFILE
    ;;

  # Migration-tool MigrationStarted    # Start user error log (in case it's needed)
  "M-Migration-Started")
    {
      echo "<strong>Plex Media Server - DSM 6 -> 7 actualización el $(date).</strong><br><br>"
    }  >> $SYNOPKG_TEMP_LOGFILE
    ;;

  # Postinstall - Migration successful
  "M-Migration-Successful")
    {
      echo "Se migró la instalación existente de Plex Media Server desde '$2'.<br>"
      echo "El registro de migración está disponible para su revisión: $SYNOPKG_PKGDEST_VOL/Plex/Migration.log<br>"
    } >> $SYNOPKG_TEMP_LOGFILE

    echo "=== $(date) === Completed:  Migrate Plex Media Server" >>"$SYNOPKG_PKGDEST_VOL/Plex/Migration.log"
    ;;

  # Unexpected errror (Linux error code) during migration
 "M-Migration-System-Error")
    {
      echo "ERROR: No se puede migrar '$2' existente a DSM 7. Error del sistema: $3."
      echo "       Archivo de registro de migración: "$4""
    } >> $SYNOPKG_TEMP_LOGFILE
    ;;

  # Preinstall/Postinstall - DSM 6 upgrade - Do not have Full Control of the shared fold
  "M-Preinstall-Check-Failure")
    {
      echo "<strong>ERROR: Fallaron las comprobaciones de preinstalación.</strong><br>"
      echo "<br><p style='color:red'>ERROR: <strong>PlexMediaServer</strong> no tiene <strong>Control total</strong> del recurso compartido <strong>Plex</strong> existente.</p><br>"
    } >> "$SYNOPKG_TEMP_LOGFILE"
    ;;

# - Preinstall
  # Upgradeable DSM 6 installation but is not on SYNOPKG_DEST_VOL  ($2 = ExistingVolume)
  "M-Preinstall-Migrate-Wrong-Volume")
    {
      echo "<br><strong style='color:red'>ERROR:  Volumen de instalación incorrecto.</strong><br><br>"
      echo "Se encontró una instalación actualizable de Plex Media Server en '$2'.<br><br>"
      echo "<strong>Selecciona '$2' como volumen de instalación y vuelve a intentarlo.<br>"
      echo "o elimínelo del recurso compartido 'Plex' para empezar de nuevo.</strong>"
    } >> $SYNOPKG_TEMP_LOGFILE
    ;;

  # Existing DSM 7 installation in statis but is not on SYNOPKG_DEST_VOL
  "M-Preinstall-Wrong-Volume")
    {
      echo "<br><strong style='color:red'>ERROR:  Volumen de instalación incorrecto.</strong><br><br>"
      echo "Se encontró una instalación de Plex Media Server existente en $2.<br><br>"
      echo "<strong>Selecciona '$2' como volumen de instalación y vuelve a intentarlo.</strong>"
    } > $SYNOPKG_TEMP_LOGFILE
    ;;

  # No error text for message
  *)
    {
      echo "Error interno del paquete. No hay texto para el código de error '$1'. Informe este error".
    } >> $SYNOPKG_TEMP_LOGFILE
    ;;

esac
