DEFAULT SET TO EN FOR NOW require_once($rootdir.'/classes/core/language.php'); $clang = new limesurvey_lang("en"); ob_implicit_flush(true); if (isset($argv[1]) && $argv[1]=='install') { print("trying to create and populate $databasename on $databaselocation:$databaseport ($databasetype) \n"); if (!$database_exists) //Database named in config.php does not exist { if($connect->Execute("CREATE DATABASE $databasename;")) { print("\nDatabase $databasename on $databasetype CREATED \n"); } else { print("\nDatabase $databasename on $databasetype COULD NOT BE CREATED \n"); print("\n".$connect->ErrorMsg()); return 1; } } else { if ($databasetype=='mysql' || $databasetype=='mysqli') {$connect->Execute("ALTER DATABASE `$databasename` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;");} //Set the collation also for manually created DBs print("\nDatabase $databasename on $databasetype EXISTS, not created \n"); } // Connect to the database we created a sec ago or to the existing db. if(!$connect->Connect($databaselocation,$databaseuser,$databasepass,$databasename)) { print("\n".$connect->ErrorMsg()); return 1; } require_once($homedir."/classes/core/sha256.php"); $success = 0; // Let's be optimistic $createdbtype=$databasetype; if ($createdbtype=='mssql_n' || $createdbtype=='odbc_mssql' || $createdbtype=='odbtp') $createdbtype='mssql'; $sqlfile = dirname(__FILE__).'/create-'.$createdbtype.'.sql' ; if (!empty($sqlfile)) { if (!is_readable($sqlfile)) { $success = false; print "\nTried to populate database, but '". $sqlfile ."' doesn't exist!\n"; return $success; } else { $lines = file($sqlfile); } } else { $sqlstring = trim($sqlstring); if ($sqlstring{strlen($sqlstring)-1} != ";") { $sqlstring .= ";"; // add it in if it's not there. } $lines[] = $sqlstring; } $command = ''; $connect->SetFetchMode(ADODB_FETCH_NUM); foreach ($lines as $line) { $line = rtrim($line); $length = strlen($line); if ($length and $line[0] <> '#' and substr($line,0,2) <> '--') { if (substr($line, $length-1, 1) == ';') { $line = substr($line, 0, $length-1); // strip ; $command .= $line; $command = str_replace('prefix_', $dbprefix, $command); // Table prefixes $command = str_replace('$defaultuser', $defaultuser, $command); // variables By Moses $command = str_replace('$defaultpass', SHA256::hashing($defaultpass), $command); // variables By Moses $command = str_replace('$siteadminname', $siteadminname, $command); $command = str_replace('$siteadminemail', $siteadminemail, $command); // variables By Moses $command = str_replace('$defaultlang', $defaultlang, $command); // variables By Moses $command = str_replace('$sessionname', 'ls'.getRandomID().getRandomID().getRandomID().getRandomID(), $command); // variables By Moses $command = str_replace('$databasetabletype', $databasetabletype, $command); if(!$connect->Execute($command,false)) { print ("\n".$clang->gT("Executing").".....".$command."...".$clang->gT('Failed! Reason:')."\n".$connect->ErrorMsg()."\n\n"); $success=1; } $command = ''; } else { $command .= $line; } } } $connect->SetFetchMode(ADODB_FETCH_ASSOC); if($success == 0) { print("Database $databasename on $databasetype POPULATED"); print("\n\neverything went fine"); return $success; } else { print("\n\nSomething is strange"); print("\nplease check you Database and Settings"); return $success; } // if (modify_database(dirname(__FILE__).'\create-'.$databasetype.'.sql')) // { // print("\nDatabase $databasename on $databasetype POPULATED \n"); // return 0; // } else { // print("Could not populate $databasename on $databasetype\n"); // return 1; // } } elseif (isset($argv[1]) && $argv[1]=='upgrade') { $upgradedbtype=$databasetype; if ($upgradedbtype=='mssql_n' || $upgradedbtype=='odbc_mssql' || $upgradedbtype=='odbtp') $upgradedbtype='mssql'; include ('upgrade-'.$upgradedbtype.'.php'); $tables = $connect->MetaTables(); $usquery = "SELECT stg_value FROM ".db_table_name("settings_global")." where stg_name='DBVersion'"; $usresult = db_execute_assoc($usquery); $usrow = $usresult->FetchRow(); if (intval($usrow['stg_value'])<$dbversionnumber) { print("Upgrading db to $dbversionnumber\n"); db_upgrade(intval($usrow['stg_value'])); } else { print("Already at db version $dbversionnumber\n"); } return 0; } else { print("LimeSurvey Commandline Install\n"); print("Usage: cmd_install