#!/bin/bash
BASEDIR=$(dirname "$0")

mysql -uroot -ppnetlab -D pnetlab_db -e "CREATE TABLE if_sessions (
 if_session_id bigint(15) NOT NULL AUTO_INCREMENT,
 if_session_lab int(11) DEFAULT NULL,
 if_session_node int(11) DEFAULT NULL,
 if_session_ifid int(11) DEFAULT NULL,
 if_session_type varchar(150) DEFAULT NULL,
 if_session_quality text,
 if_session_suspend int(11) DEFAULT NULL,
 PRIMARY KEY (if_session_id),
 KEY if_session_ifid (if_session_ifid),
 KEY if_session_type (if_session_type),
 KEY if_session_suspend (if_session_suspend),
 KEY if_session_lab (if_session_lab) USING BTREE,
 KEY if_session_node (if_session_node) USING BTREE,
 CONSTRAINT if_sessions_ibfk_1 FOREIGN KEY (if_session_node) REFERENCES node_sessions (node_session_id) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1" 2>/dev/null

mysql -uroot -ppnetlab -D pnetlab_db -e "ALTER TABLE users CHANGE user_workspace user_workspace TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL" 2>/dev/null
mysql -uroot -ppnetlab -D pnetlab_db -e "ALTER TABLE users ADD max_node INT(11) NULL AFTER user_workspace, ADD INDEX (max_node);" 2>/dev/null
mysql -uroot -ppnetlab -D pnetlab_db -e "ALTER TABLE users ADD max_node_lab INT(11) NULL AFTER max_node, ADD INDEX (max_node_lab);" 2>/dev/null


repo=$(cat /etc/apt/sources.list | grep repo.pnetlab.com)
if [[ "$repo" == "" ]] ; then
	echo "deb [trusted=yes] http://repo.pnetlab.com ./" | tee -a /etc/apt/sources.list
fi


sudo chmod 755 -R /opt/unetlab/addons
sudo chmod 755 -R /opt/unetlab/scripts
sudo chmod 755 -R /opt/unetlab/wrappers
sudo chmod 755 -R /opt/unetlab/html
sudo chmod 755 -R /opt/unetlab/addons
sudo chown www-data:www-data -R /opt/unetlab/html
sudo /opt/unetlab/html/store/app/Console/Commands/removeuser

sudo chmod 644 /etc/sudoers.d/unetlab
sudo chmod 755 /opt/ovf/ovfconfig.sh
sudo cp -f /opt/unetlab/html/images/icons/Cloud.png /opt/unetlab/html/images/icons/cloud.png

sudo rm -f /opt/unetlab/html/includes/interface
sudo rm -f /opt/unetlab/html/includes/__interfc.php

ln -s /opt/unetlab/html/store/app/Console/Commands/pnetlab /usr/local/sbin/pnetlab
chmod 755 /opt/unetlab/html/store/app/Console/Commands/pnetlab

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

ubuntu=$(lsb_release -a | grep 18.04)
if [[ "$ubuntu" != "" ]] ; then
	sudo apt-get install -y $BASEDIR/system_files/debs/1804/*.deb
	sed -i 's/GRUB_DEFAULT=.*/GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 4.15.18-pnetlab2"/g' /etc/default/grub
	echo "expand memory"
	sudo perl -i -pe 'BEGIN{undef $/;} s/memory_limit\s=\s[0-9]+M/memory_limit = 1024M/smg' /etc/php/7.2/apache2/php.ini
	sudo perl -i -pe 'BEGIN{undef $/;} s/post_max_size\s=\s[0-9]+M/post_max_size = 1024M/smg' /etc/php/7.2/apache2/php.ini
	sudo perl -i -pe 'BEGIN{undef $/;} s/upload_max_filesize\s=\s[0-9]+M/upload_max_filesize = 1024M/smg' /etc/php/7.2/apache2/php.ini
	
	systemctl enable resolvconf
	sudo perl -i -pe 'BEGIN{undef $/;} s/#?DNSStubListener=[\w]*/DNSStubListener=no/smg' /etc/systemd/resolved.conf
	systemctl restart resolvconf
	
	service systemd-resolved restart
	service pnetnat restart
	
fi

sed -i 's/"storage-driver": "overlay2"/"storage-driver": "aufs"/g' /etc/docker/daemon.json
service docker restart
sudo apt-mark hold pnetlab
sudo update-grub

license=$(python /opt/unetlab/addons/iol/bin/CiscoIOUKeygen.py | grep "=" | grep -v "hostname") && sudo echo -e "[license]\n$license" > /opt/unetlab/addons/iol/bin/iourc

################################################
mysql -uroot -ppnetlab -D pnetlab_db -e "replace control (control_name, control_value) values ('ctrl_version','4.2.8')" 2>/dev/null
mysql -uroot -ppnetlab -D pnetlab_db -e "delete from process where process_id='upgrade'" 2>/dev/null
echo "Upgraded successfully";

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



