#!/bin/bash

# OpenGTS LiveCD FirstBoot user enumeration
gtsusr="$(awk -F':' '{ if ( $3 >= 500 ) print $1 }' /etc/passwd |grep -v nfsnobody)"

# You must run this script as the root user
if [ `id -u` != 0 ];
then
echo "You must run this script as root."
echo "From a terminal (Applications > System Tools > Terminal)"
echo "type 'su', enter your password, then re-run this script."
echo "Visit www.nwitechsupport.com for help."
echo "Aborted!";
exit
fi

# Install fonts for all languages
if rpm -q --quiet dejavu-sans-fonts liberation-sans-fonts un-core-fonts-common
then
echo "it looks like you alredy have additional fonts installed!"
echo "would you like to install the font group anyway?"
echo "Please answer Y or N"
read item
case "$item" in
 y|Y) yum -y groupinstall fonts;;
 n|N) echo "No additional fonts will be installed...";;
 *) echo "that'll work as a No as well then!";;
esac
fi

# Add epel repository
if [ ! -f /etc/yum.repos.d/epel.repo ];
then
cat >> /etc/yum.repos.d/epel.repo << EOF
[epel]
name=Extra Packages for Enterprise Linux 6 - \$basearch
#baseurl=http://download.fedoraproject.org/pub/epel/6/\$basearch
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=\$basearch
failovermethod=priority
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6

[epel-debuginfo]
name=Extra Packages for Enterprise Linux 6 - \$basearch - Debug
#baseurl=http://download.fedoraproject.org/pub/epel/6/\$basearch/debug
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-debug-6&arch=\$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
gpgcheck=1

[epel-source]
name=Extra Packages for Enterprise Linux 6 - \$basearch - Source
#baseurl=http://download.fedoraproject.org/pub/epel/6/SRPMS
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-source-6&arch=\$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
gpgcheck=1
EOF
else
echo "epel repo file already exists..."
fi

if [ ! -f /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 ];
then
cat >> /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 << EOF
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.5 (GNU/Linux)

mQINBEvSKUIBEADLGnUj24ZVKW7liFN/JA5CgtzlNnKs7sBg7fVbNWryiE3URbn1
JXvrdwHtkKyY96/ifZ1Ld3lE2gOF61bGZ2CWwJNee76Sp9Z+isP8RQXbG5jwj/4B
M9HK7phktqFVJ8VbY2jfTjcfxRvGM8YBwXF8hx0CDZURAjvf1xRSQJ7iAo58qcHn
XtxOAvQmAbR9z6Q/h/D+Y/PhoIJp1OV4VNHCbCs9M7HUVBpgC53PDcTUQuwcgeY6
pQgo9eT1eLNSZVrJ5Bctivl1UcD6P6CIGkkeT2gNhqindRPngUXGXW7Qzoefe+fV
QqJSm7Tq2q9oqVZ46J964waCRItRySpuW5dxZO34WM6wsw2BP2MlACbH4l3luqtp
Xo3Bvfnk+HAFH3HcMuwdaulxv7zYKXCfNoSfgrpEfo2Ex4Im/I3WdtwME/Gbnwdq
3VJzgAxLVFhczDHwNkjmIdPAlNJ9/ixRjip4dgZtW8VcBCrNoL+LhDrIfjvnLdRu
vBHy9P3sCF7FZycaHlMWP6RiLtHnEMGcbZ8QpQHi2dReU1wyr9QgguGU+jqSXYar
1yEcsdRGasppNIZ8+Qawbm/a4doT10TEtPArhSoHlwbvqTDYjtfV92lC/2iwgO6g
YgG9XrO4V8dV39Ffm7oLFfvTbg5mv4Q/E6AWo/gkjmtxkculbyAvjFtYAQARAQAB
tCFFUEVMICg2KSA8ZXBlbEBmZWRvcmFwcm9qZWN0Lm9yZz6JAjYEEwECACAFAkvS
KUICGw8GCwkIBwMCBBUCCAMEFgIDAQIeAQIXgAAKCRA7Sd8qBgi4lR/GD/wLGPv9
qO39eyb9NlrwfKdUEo1tHxKdrhNz+XYrO4yVDTBZRPSuvL2yaoeSIhQOKhNPfEgT
9mdsbsgcfmoHxmGVcn+lbheWsSvcgrXuz0gLt8TGGKGGROAoLXpuUsb1HNtKEOwP
Q4z1uQ2nOz5hLRyDOV0I2LwYV8BjGIjBKUMFEUxFTsL7XOZkrAg/WbTH2PW3hrfS
WtcRA7EYonI3B80d39ffws7SmyKbS5PmZjqOPuTvV2F0tMhKIhncBwoojWZPExft
HpKhzKVh8fdDO/3P1y1Fk3Cin8UbCO9MWMFNR27fVzCANlEPljsHA+3Ez4F7uboF
p0OOEov4Yyi4BEbgqZnthTG4ub9nyiupIZ3ckPHr3nVcDUGcL6lQD/nkmNVIeLYP
x1uHPOSlWfuojAYgzRH6LL7Idg4FHHBA0to7FW8dQXFIOyNiJFAOT2j8P5+tVdq8
wB0PDSH8yRpn4HdJ9RYquau4OkjluxOWf0uRaS//SUcCZh+1/KBEOmcvBHYRZA5J
l/nakCgxGb2paQOzqqpOcHKvlyLuzO5uybMXaipLExTGJXBlXrbbASfXa/yGYSAG
iVrGz9CE6676dMlm8F+s3XXE13QZrXmjloc6jwOljnfAkjTGXjiB7OULESed96MR
XtfLk0W5Ab9pd7tKDR6QHI7rgHXfCopRnZ2VVQ==
=V/6I
-----END PGP PUBLIC KEY BLOCK-----
EOF
else
echo "epel repo key already exists..."
fi

# Install mytop and htop
if rpm -q --quiet htop
then
echo "htop is already installed..."
else
yum -y --enablerepo epel --nogpgcheck install htop
fi

if rpm -q --quiet mytop
then
echo "mtop is already installed..."
else
yum -y --enablerepo epel --nogpgcheck install mytop
fi

# Add mytop missing config file
if [ ! -f /home/$gtsusr/.mytop ];
then
cat >> /home/$gtsusr/.mytop << EOF
user=root
pass=slighPCs
host=localhost
db=gts
delay=5
port=3306
socket=
batchmode=0
header=1
color=1
idle=1
EOF
chown $(id -un $gtsusr):$(id -gn $gtsusr) "/home/$gtsusr/.mytop"
else
echo "mytop config file for $gtsusr already exists!"
fi

# Add opengts shortcut to the desktop
if [ ! -f /home/$gtsusr/Desktop/opengts.desktop ]
then
cp /usr/share/applications/opengts.desktop /home/$gtsusr/Desktop/
else
echo "it seems you already have a Desktop icon named opengts..."
fi

# Add phpmyadmin shortcut to the desktop
if [ ! -f /home/$gtsusr/Desktop/phpmyadmin.desktop ]
then
cp -Rpvf /usr/share/applications/phpmyadmin.desktop /home/$gtsusr/Desktop/
else
echo "it seems you already have a Desktop icon named phpmyadmin..."
fi
chown -Rvf $(id -un $gtsusr):$(id -gn $gtsusr) "/home/$gtsusr/Desktop"
chmod -Rvf +x "/home/$gtsusr/Desktop"

# Add FirstBoot user to the sudoers file
if [ ! "$gtsusr" != "/etc/sudoers" ]; then
echo "$gtsusr has already been added to the sudoers file..."
else
echo "$gtsusr     ALL=(ALL)     ALL" >> /etc/sudoers
fi

# Add/Remove Language Dropdown Menu to OpenGTS
if [ $(grep -c "accountLogin.showLocaleSelection\">true" /opt/OpenGTS_2.3.8/private.xml) -ne 0 ]
then
echo "it looks like you already have the menu Language Selector installed..."
echo "would you like to remove it?"
echo "Please answer Y or N"
read item
case "$item" in
 y|Y) cd /opt/OpenGTS_2.3.8
export CATALINA_HOME=/usr/share/tomcat6
rm -Rf /var/lib/tomcat6/webapps/track*
sed -i 's|"accountLogin.showLocaleSelection">true|"accountLogin.showLocaleSelection">false|' /opt/OpenGTS_2.3.8/private.xml
su tomcat ant track.war
ant track.deploy
service tomcat6 restart
service opengts restart;;
 n|N) echo "You have chosen to keep the menu Language Selector installed...";;
 *) echo "that'll work as a No as well then!";;
esac
else
echo "it doesn't seem that you have the menu Language Selector installed..."
echo "would you like to build it?"
echo "Please answer Y or N"
read item
case "$item" in
 y|Y) cd /opt/OpenGTS_2.3.8
export CATALINA_HOME=/usr/share/tomcat6
rm -Rf /var/lib/tomcat6/webapps/track*
sed -i 's|"accountLogin.showLocaleSelection">false|"accountLogin.showLocaleSelection">true|' /opt/OpenGTS_2.3.8/private.xml
su tomcat ant track.war
ant track.deploy
service tomcat6 restart
service opengts restart;;
 n|N) echo "You have chosen not to build the menu Language Selector...";;
 *) echo "that'll work as a No as well then!";;
esac
fi

