/** * Creates new bookmark * @category Utils class * @access public * @param string $name * @param string $realmName * @return bool **/ public function AddBookmark($name, $realmName) { if (!isset($_SESSION['accountId'])) { return false; } if ($this->GetBookmarksCount() >= 60) { // Unable to store more than 60 bookmarks for single account return false; } $realm_id = Armory::FindRealm($realmName); if (!$realm) { return false; } elseif (!isset(Armory::$realmData[$realm_id])) { return false; } $realm_info = Armory::$realmData[$realm_id]; $db = new ArmoryDatabaseHandler($realm_info['host_characters'], $realm_info['user_characters'], $realm_info['pass_characters'], $realm_info['name_characters'], $realm_info['charset_characters']); if (!$db) { return false; } $char_data = $db->selectRow("SELECT `name`, `class` AS `classId`, `level` FROM `characters` WHERE `name`='%s' LIMIT 1", $name); if (!$char_data) { return false; } $char_data['realmUrl'] = sprintf('r=%s&cn=%s', urlencode($realmName), urlencode($name)); Armory::$aDB->query("INSERT IGNORE INTO `ARMORYDBPREFIX_bookmarks` VALUES (%d, '%s', %d, %d, '%s', '%s')", $_SESSION['accountId'], $char_data['name'], $char_data['classId'], $char_data['level'], $realmName, $char_data['realmUrl']); return true; }
$realmName = urldecode($_GET['r' . $i]); $realm_id = $utils->GetRealmIdByName($realmName); if (!$realm_id) { $armory->Log()->writeLog('character-select-submit : realm %s not found in database!', $realmName); continue; } elseif (!isset($armory->realmData[$realm_id])) { $armory->Log()->writeLog('character-select-submit : connection data to realm %s (ID: %d) not found!', $realmName, $realm_id); continue; } $realm_info = $armory->realmData[$realm_id]; $db = new ArmoryDatabaseHandler($realm_info['host_characters'], $realm_info['user_characters'], $realm_info['pass_characters'], $realm_info['name_characters'], $realm_info['charset_characters'], $armory->Log()); if (!$db) { // Error message will appear in ArmoryDatabaseHandler::ArmoryDatabaseHandler(); continue; } $char_data = $db->selectRow("SELECT `guid`, `name`, `class`, `race`, `gender`, `level`, `account` FROM `characters` WHERE `name`='%s' AND `account`=%d LIMIT 1", $utils->escape($_GET['cn' . $i]), $_SESSION['accountId']); if (!$char_data) { $armory->Log()->writeLog('character-select-submit : unable to get character data from DB (name: %s, accountId: %d)', $_GET['cn' . $i], $_SESSION['accountId']); continue; } $char_data['realm_id'] = $realm_id; if (isset($_GET['cn1']) && $i == 1) { $char_data['selected'] = 1; } else { $char_data['selected'] = $i; } $char_data['num'] = $i; $utils->AddCharacterAsSelected($char_data, $realm_id, $i); } } } else {