#!/bin/bash
#
################################################################################
#
#                     S H E L L   S C R I P T  F I L E
#
#                         COPYRIGHT 2011 MOTOROLA
#                           All Rights Reserved
#
################################################################################
#
#   FILE NAME       : omc_db_passwd
#   FUNCTION        : 
#   PARAMETERS      :  
#                      
################################################################################
#
################################################################################
#
# Revision History:
#
# Date      Prob#          Description
# --------- -------------  -----------------------------------------------------
# 01-MAr-11   Initial version
################################################################################

################################# functions ####################################

# ---------------------------------------------------------------------------
# Function: 
#    show_menu
#   show and execute main menu
# Input: None.
# ---------------------------------------------------------------------------
function show_menu
{
  while [ 1 ]
  do
	  printf "\n"
	  printf "          1 -> Update System-User password\n"
	  printf "          2 -> Update database password\n"
	  printf "          q -> Quit\n"
	  printf "\n"
	  printf "  Choice? "
	  read -r userchoice

	  case $userchoice in

	"1")
		input_and_set_system_user
		;;		
	"2")
		input_and_set_database_user
		;;		
	"q")
		printf "\nQuitting...\n"
		exit
		;;		
	*)
		printf "\n     -->  Input error: please insert 1-2,q  <--\n\n"
		;;
	esac
   done
}	 

# ---------------------------------------------------------------------------
# Function: 
#    print in console and syslog.
# Input:
#    ${*} - one or more string parameters
# ---------------------------------------------------------------------------

function print_in_console_and_syslog
{
	printf ".... $1 ....\n"
	/usr/bin/logger -t $1
} 

# ---------------------------------------------------------------------------
# Function: 
#    input_and_set_system_user
# This function is use only for 'ssrn' system user updating.  
# ---------------------------------------------------------------------------
function input_and_set_system_user
{
	USER_NAME="ssrn"
	
	chmod 700 $PASSWORD_FILE
	/opt/Motorola/mcd5000/omcserver/bin/omc_ipds_config sys_pass_update -uname $USER_NAME 
	chmod 400 $PASSWORD_FILE
}

# ---------------------------------------------------------------------------
# Function: 
#    input_and_set_database_user
#   
# Input: None.
# ---------------------------------------------------------------------------
function input_and_set_database_user
{
  while [ 1 ]
  do
	  printf "\n"
	printf "          1 -> Update database password for 'ssrn' user\n"
	  printf "          2 -> Update database password for 'ssrnadmin' user\n"
	  printf "          3 -> Update database password for 'replicuser' user\n"
	  printf "          q -> Quit\n"
	  printf "\n"
	  printf "  Choice? "
	  read -r userchoice

	  case $userchoice in

	"1")
		USER_NAME="ssrn"
		/opt/Motorola/mcd5000/omcserver/bin/omc_ipds_config db_pass_update -uname $USER_NAME  
		;;		
	"2")
		USER_NAME="ssrnadmin"
		/opt/Motorola/mcd5000/omcserver/bin/omc_ipds_config db_pass_update -uname $USER_NAME 
		;;	
	"3")
		USER_NAME="replicuser"
		/opt/Motorola/mcd5000/omcserver/bin/omc_ipds_config db_pass_update -uname $USER_NAME 
		;;			
	"q")
		printf "\nQuitting...\n"
		exit
		;;		
	*)
		printf "\n     -->  Input error: please insert 1-3,q  <--\n\n"
		;;
	esac
  done
}	 

################################# Main Body ####################################
PASSWORD_FILE="/etc/shadow"
USER_NAME=
PASSWORD=

printf "\n"
show_menu

#################################  E N D    ####################################
