mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-17 22:51:30 +00:00
RefreshPetitionsFromDB converted to QueryDatabase
This commit is contained in:
parent
6364d2c31d
commit
748748dda9
@ -273,41 +273,40 @@ void ZoneDatabase::InsertPetitionToDB(Petition* wpet)
|
|||||||
|
|
||||||
void ZoneDatabase::RefreshPetitionsFromDB()
|
void ZoneDatabase::RefreshPetitionsFromDB()
|
||||||
{
|
{
|
||||||
char errbuf[MYSQL_ERRMSG_SIZE];
|
|
||||||
char *query = 0;
|
|
||||||
MYSQL_RES *result;
|
|
||||||
MYSQL_ROW row;
|
|
||||||
Petition* newpet;
|
Petition* newpet;
|
||||||
if (RunQuery(query, MakeAnyLenString(&query, "SELECT petid, charname, accountname, lastgm, petitiontext, zone, urgency, charclass, charrace, charlevel, checkouts, unavailables, ischeckedout, senttime, gmtext from petitions order by petid"), errbuf, &result))
|
std::string query = "SELECT petid, charname, accountname, lastgm, petitiontext, "
|
||||||
{
|
"zone, urgency, charclass, charrace, charlevel, checkouts, "
|
||||||
safe_delete_array(query);
|
"unavailables, ischeckedout, senttime, gmtext "
|
||||||
while ((row = mysql_fetch_row(result))) {
|
"FROM petitions ORDER BY petid";
|
||||||
newpet = new Petition(atoi(row[0]));
|
auto results = QueryDatabase(query);
|
||||||
newpet->SetCName(row[1]);
|
if (!results.Success()) {
|
||||||
newpet->SetAName(row[2]);
|
LogFile->write(EQEMuLog::Error, "Error in RefreshPetitionsFromDB query '%s': %s", query.c_str(), results.ErrorMessage().c_str());
|
||||||
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]);
|
|
||||||
std::cout << "Petition " << row[0] << " pettime = " << newpet->GetSentTime() << std::endl;
|
|
||||||
if (atoi(row[12]) == 1) newpet->SetCheckedOut(true);
|
|
||||||
else newpet->SetCheckedOut(false);
|
|
||||||
petition_list.AddPetition(newpet);
|
|
||||||
}
|
|
||||||
mysql_free_result(result);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
LogFile->write(EQEMuLog::Error, "Error in RefreshPetitionsFromDB query '%s': %s", query, errbuf);
|
|
||||||
safe_delete_array(query);
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
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]);
|
||||||
|
|
||||||
|
std::cout << "Petition " << row[0] << " pettime = " << newpet->GetSentTime() << std::endl;
|
||||||
|
|
||||||
|
if (atoi(row[12]) == 1)
|
||||||
|
newpet->SetCheckedOut(true);
|
||||||
|
else
|
||||||
|
newpet->SetCheckedOut(false);
|
||||||
|
petition_list.AddPetition(newpet);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user