Пример #1
0
 /**
  * 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;
 }
Пример #2
0
            $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 {