hasColumn('accounts', 'salt'); if($config_salt_enabled) { $salt = generateRandomString(10, false, true, true); $password = $salt . $password; } $account_db = new OTS_Account(); if(isset($account)) $account_db->find($account); else $account_db->load($account_id); $player_db = new OTS_Player(); $player_db->find('Admin'); $groups = new OTS_Groups_List(); if(!$player_db->isLoaded()) { $player = new OTS_Player(); $player->setName('Admin'); $player_used = &$player; } else { $player_used = &$player_db; } $player_used->setGroupId($groups->getHighestId()); if($account_db->isLoaded()) { $account_db->setPassword(encrypt($password)); $account_db->setEMail($_SESSION['var_mail_admin']); $account_db->save(); $account_used = &$account_db; } else { $new_account = new OTS_Account(); if(USE_ACCOUNT_NAME) { $new_account->create($account); } else { $new_account->create(null, $account_id); } $new_account->setPassword(encrypt($password)); $new_account->setEMail($_SESSION['var_mail_admin']); $new_account->unblock(); $new_account->save(); $new_account->setCustomField('created', time()); $new_account->logAction('Account created.'); $account_used = &$new_account; } if($config_salt_enabled) $account_used->setCustomField('salt', $salt); $account_used->setCustomField('web_flags', FLAG_ADMIN + FLAG_SUPER_ADMIN); $account_used->setCustomField('country', 'us'); if($db->hasColumn('accounts', 'group_id')) $account_used->setCustomField('group_id', $groups->getHighestId()); if($db->hasColumn('accounts', 'type')) $account_used->setCustomField('type', 5); if(!$player_db->isLoaded()) $player->setAccountId($account_used->getId()); else $player_db->setAccountId($account_used->getId()); success($locale['step_database_created_account']); setSession('account', $account_used->getId()); setSession('password', encrypt($password)); setSession('remember_me', true); if($player_db->isLoaded()) { $player_db->save(); } else { $player->save(); } $player_id = 0; $query = $db->query("SELECT `id` FROM `players` WHERE `name` = " . $db->quote('Admin') . ";"); if($query->rowCount() == 1) { $query = $query->fetch(); $player_id = $query['id']; } $query = $db->query("SELECT `id` FROM `" . TABLE_PREFIX ."news` WHERE `title` LIKE 'Hello!';"); if($query->rowCount() == 0) { if(query("INSERT INTO `" . TABLE_PREFIX ."news` (`id`, `type`, `date`, `category`, `title`, `body`, `player_id`, `comments`, `hidden`) VALUES (NULL, '1', UNIX_TIMESTAMP(), '2', 'Hello!', 'MyAAC is just READY to use!', " . $player_id . ", 'http://my-aac.org', '0'); INSERT INTO `myaac_news` (`id`, `type`, `date`, `category`, `title`, `body`, `player_id`, `comments`, `hidden`) VALUES (NULL, '2', UNIX_TIMESTAMP(), '4', 'Hello tickets!', 'http://my-aac.org', " . $player_id . ", '', '0');")) { success($locale['step_database_created_news']); } } $deleted = 'deleted'; if($db->hasColumn('players', 'deletion')) $deleted = 'deletion'; $time = time(); function insert_sample_if_not_exist($p) { global $db, $success, $deleted, $time; $query = $db->query('SELECT `id` FROM `players` WHERE `name` = ' . $db->quote($p['name'])); if($query->rowCount() == 0) { if(!query("INSERT INTO `players` (`id`, `name`, `group_id`, `account_id`, `level`, `vocation`, `health`, `healthmax`, `experience`, `lookbody`, `lookfeet`, `lookhead`, `looklegs`, `looktype`, `maglevel`, `mana`, `manamax`, `manaspent`, `soul`, `town_id`, `posx`, `posy`, `posz`, `conditions`, `cap`, `sex`, `lastlogin`, `lastip`, `save`, `lastlogout`, `balance`, `$deleted`, `created`, `hidden`, `comment`) VALUES (null, " . $db->quote($p['name']) . ", 1, " . getSession('account') . ", " . $p['level'] . ", " . $p['vocation_id'] . ", " . $p['health'] . ", " . $p['healthmax'] . ", " . $p['experience'] . ", 118, 114, 38, 57, " . $p['looktype'] . ", 0, " . $p['mana'] . ", " . $p['manamax'] . ", 0, " . $p['soul'] . ", 1, 1000, 1000, 7, '', " . $p['cap'] . ", 1, " . $time . ", 2130706433, 1, " . $time . ", 0, 0, " . $time . ", 1, '');")) $success = false; } } $success = true; insert_sample_if_not_exist(array('name' => 'Rook Sample', 'level' => 1, 'vocation_id' => 0, 'health' => 150, 'healthmax' => 150, 'experience' => 0, 'looktype' => 130, 'mana' => 0, 'manamax' => 0, 'soul' => 100, 'cap' => 400)); insert_sample_if_not_exist(array('name' => 'Sorcerer Sample', 'level' => 8, 'vocation_id' => 1, 'health' => 185, 'healthmax' => 185, 'experience' => 4200, 'looktype' => 130, 'mana' => 35, 'manamax' => 35, 'soul' => 100, 'cap' => 470)); insert_sample_if_not_exist(array('name' => 'Druid Sample', 'level' => 8, 'vocation_id' => 2, 'health' => 185, 'healthmax' => 185, 'experience' => 4200, 'looktype' => 130, 'mana' => 35, 'manamax' => 35, 'soul' => 100, 'cap' => 470)); insert_sample_if_not_exist(array('name' => 'Paladin Sample', 'level' => 8, 'vocation_id' => 3, 'health' => 185, 'healthmax' => 185, 'experience' => 4200, 'looktype' => 129, 'mana' => 35, 'manamax' => 35, 'soul' => 100, 'cap' => 470)); insert_sample_if_not_exist(array('name' => 'Knight Sample', 'level' => 8, 'vocation_id' => 4, 'health' => 185, 'healthmax' => 185, 'experience' => 4200, 'looktype' => 131, 'mana' => 35, 'manamax' => 35, 'soul' => 100, 'cap' => 470)); if($success) { success($locale['step_database_imported_players']); } require(LIBS . 'creatures.php'); if(Creatures::loadFromXML()) { success($locale['step_database_loaded_monsters']); if(Creatures::getMonstersList()->hasErrors()) { $locale['step_database_error_monsters'] = str_replace('$LOG$', 'system/logs/error.log', $locale['step_database_error_monsters']); warning($locale['step_database_error_monsters']); } } else { error(Creatures::getLastError()); } require(LIBS . 'spells.php'); if(Spells::loadFromXML()) { success($locale['step_database_loaded_spells']); } else { error(Spells::getLastError()); } $query = $db->query("SELECT `id` FROM `players` WHERE (`name` = " . $db->quote("Rook Sample") . " OR `name` = " . $db->quote("Sorcerer Sample") . " OR `name` = " . $db->quote("Druid Sample") . " OR `name` = " . $db->quote("Paladin Sample") . " OR `name` = " . $db->quote("Knight Sample") . " OR `name` = " . $db->quote("Account Manager") . ") ORDER BY `id`;"); // update config.highscores_ids_hidden require_once(SYSTEM . 'migrations/20.php'); $database_migration_20 = true; $content = ''; if(!databaseMigration20($content)) { $locale['step_database_error_file'] = str_replace('$FILE$', '' . BASE . 'config.local.php', $locale['step_database_error_file']); warning($locale['step_database_error_file'] . '
'); } $locale['step_finish_desc'] = str_replace('$ADMIN_PANEL$', generateLink(ADMIN_URL, $locale['step_finish_admin_panel'], true), $locale['step_finish_desc']); $locale['step_finish_desc'] = str_replace('$HOMEPAGE$', generateLink(BASE_URL, $locale['step_finish_homepage'], true), $locale['step_finish_desc']); $locale['step_finish_desc'] = str_replace('$LINK$', generateLink('http://my-aac.org', 'http://my-aac.org', true), $locale['step_finish_desc']); success($locale['step_finish_desc']); if(!isset($_SESSION['installed'])) { file_get_contents('http://my-aac.org/report_install.php?v=' . MYAAC_VERSION . '&b=' . urlencode(BASE_URL)); $_SESSION['installed'] = true; } foreach($_SESSION as $key => $value) { if(strpos($key, 'var_') !== false) unset($_SESSION[$key]); } unset($_SESSION['saved']); if(file_exists(CACHE . 'install.txt')) { unlink(CACHE . 'install.txt'); } } } ?>