void ZoneDatabase::RefreshPetitionsFromDB() { Petition* newpet; std::string query = "SELECT petid, charname, accountname, lastgm, petitiontext, " "zone, urgency, charclass, charrace, charlevel, checkouts, " "unavailables, ischeckedout, senttime, gmtext " "FROM petitions ORDER BY petid"; auto results = QueryDatabase(query); if (!results.Success()) { LogFile->write(EQEMuLog::Error, "Error in RefreshPetitionsFromDB query '%s': %s", query.c_str(), results.ErrorMessage().c_str()); return; } for (auto row = results.begin(); row != results.end(); ++row) { newpet = new Petition(atoi(row[0])); newpet->SetCName(row[1]); newpet->SetAName(row[2]); newpet->SetLastGM(row[3]); newpet->SetPetitionText(row[4]); newpet->SetZone(atoi(row[5])); newpet->SetUrgency(atoi(row[6])); newpet->SetClass(atoi(row[7])); newpet->SetRace(atoi(row[8])); newpet->SetLevel(atoi(row[9])); newpet->SetCheckouts(atoi(row[10])); newpet->SetUnavails(atoi(row[11])); newpet->SetSentTime2(atol(row[13])); newpet->SetGMText(row[14]); if (atoi(row[12]) == 1) newpet->SetCheckedOut(true); else newpet->SetCheckedOut(false); petition_list.AddPetition(newpet); } }