{
my $db = ${'zabbix-server'}{'DbName'} || 'zabbixdb';
my $user = ${'zabbix-server'}{'DbUser'} || 'zabbixuser';
my $pass = ${'zabbix-server'}{'DbPassword'} || 'secret';

my $schema = `rpm -qd zabbix-server-mysql | grep create`;
chomp $schema;
my $curcharset=  ( -d "/var/lib/mysql/$db" ) ? `echo 'show variables like "character_set_database";'|mysql $db|grep character_set_database|sed -r  's/^character_set_database\\s*([a-zA-Z0-9_-]+)/\\1/'` : "utf8";
chomp $curcharset;
my $adminpass= ${'zabbix-server'}{'AdminPassword'} || 'zabbix';
$hashpass=`/usr/bin/htpasswd -bnBC 10 '' $adminpass | tr -d ':'`;
$hashpass =~ tr/\r\n//d;
$version = `/bin/ls -d /usr/share/doc/zabbix-web*|grep -Eo '[0-9.]+\$'|cut -d. -f1 || echo 4 `;
$modpass=($version > 4)? "update users set passwd='$hashpass' where alias='Admin';": "#$version";
$OUT .= <<"END";
#! /bin/sh
if [ -d /var/opt/rh/rh-mariadb105/lib/mysql/$db ]; then
	# check if utf8
        if [[ "$curcharset" != "utf8" ]] ;then
                echo "ALTER DATABASE $db CHARACTER SET utf8 COLLATE utf8_bin;" |/usr/bin/mysql105
                echo 'ALTER TABLE `$db`.`problem_tag` DROP INDEX `problem_tag_1`, ADD INDEX `problem_tag_1` (`eventid`, `tag` (100), `value`(100));' |/usr/bin/mysql105
                mysql --batch --skip-column-names --execute 'select concat("alter table ",TABLE_SCHEMA,".",TABLE_NAME," CONVERT TO CHARACTER SET utf8 COLLATE utf8_bin;") from information_schema.TABLES where TABLE_SCHEMA="$db"' | /usr/bin/mysql105
        fi
	for P in \$(rpm -qd zabbix-server-mysql | grep dbpatch | grep mysql); do
		/usr/bin/mysql105 $db < \$P
	done
else
	echo "CREATE DATABASE $db CHARACTER SET utf8 COLLATE utf8_bin;" | /usr/bin/mysql105
	/usr/bin/gunzip < $schema |     /usr/bin/mysql105 $db

fi

/usr/bin/mysql105 <<EOF
USE $db;
update users set passwd=md5('$adminpass') where alias='Admin' and passwd=md5('zabbix');
$modpass
EOF


/usr/bin/mysql105 <<EOF
USE mysql;

grant all on $db.* to '${'zabbix-server'}{DbUser}'\@'localhost' identified by '${'zabbix-server'}{DbPassword}';

FLUSH PRIVILEGES;

USE ${'zabbix-server'}{DbName};

INSERT IGNORE INTO media_type (
		mediatypeid,
		type, description,
		smtp_server,
		smtp_helo,
		smtp_email,
		exec_path,
		gsm_modem,
		username,
		passwd) 
	VALUES(
		4,
		1,
		'xmpp',
		'',
		'',
		'',
		'sendxmpp',
		'',
		'',
		'');

EOF
END
}
