2 # setup_tables: setup MYSQL/PGSQL side of things for blootbot.
7 require "src/logger.pl";
8 require "src/modules.pl";
10 require "src/interface.pl";
12 $bot_src_dir = "./src/";
14 # read param stuff from blootbot.config.
15 &loadConfig("files/blootbot.config");
17 my $dbname = $param{'DBName'};
21 print "error: appears that teh config file was not loaded properly.\n";
25 if ($param{'DBType'} =~ /mysql/i) {
28 print "Enter root information...\n";
31 chop (my $adminuser = <STDIN>);
36 chop(my $adminpass = <STDIN>);
40 if ($adminuser eq "" or $adminpass eq "") {
41 &ERROR("error: adminuser || adminpass is NULL.");
45 &openDB("mysql", $adminuser, $adminpass);
47 my $database_exists = 0;
48 foreach $database (&dbRawReturn("SHOW DATABASES")) {
49 $database_exists++ if $database eq $param{DBName};
51 if ($database_exists) {
52 &status("Hmm, database '$param{DBName}' already exists. Continuing...");
54 &status("Creating db ...");
55 &dbRaw("create(database)", "CREATE DATABASE $param{DBName}");
58 &status("Creating db ...");
59 &dbRaw("CREATE DATABASE $param{'DBName'}");
61 &status("--- Adding user information.");
63 if (!&dbGet("user","user", "user=".&dbQuote($param{'SQLUser'}) ) ) {
64 &status("--- Adding user $param{'SQLUser'} $dbname/user table...");
66 $query = "INSERT INTO user VALUES ".
67 "('localhost', '$param{'SQLUser'}', ".
68 "password('$param{'SQLPass'}'), ";
70 $query .= "'Y','Y','Y','Y','Y','Y','N','N','N','N','N','N','N','N')";
72 &dbRaw("create(user)", $query);
74 &status("... User information already present.");
77 if (!&dbGet("db","db","db=".&dbQuote($param{'SQLUser'}) ) ) {
78 &status("--- Adding 'db' stuff.");
80 $query = "INSERT INTO db VALUES ".
81 "('localhost', '$dbname', ".
82 "'$param{'SQLUser'}', ";
84 $query .= "'Y','Y','Y','Y','Y','Y','Y','N','N','N')";
86 &dbRaw("create(db)", $query);
88 &status("... db info already present.");
92 &status("Flushing privileges...");
93 $query = "FLUSH PRIVILEGES";
94 &dbRaw("mysql(flush)", $query);