Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void CheckNewSQL() {
- using namespace std::string_view_literals;
- using json = nlohmann::json;
- bool Need_to_update = true;
- int Local_version = 0;
- std::string Local_file = "no_name";
- int Network_version = 0;
- int BufferIO = 1000000; //Max std::tring lenght before saving in now slot
- std::string Network_file = "0.0.0";
- UD_LOGI("CheckNewSQL : INIT . . .");
- if (!kHookLib->patchData->exists("Translation_fr_version")) {
- UD_LOGI("CheckNewSQL : Translation_fr_version not found so creating");
- kHookLib->patchData->putInt32("Translation_fr_version", 0);
- Need_to_update = true;
- } else {
- UD_LOGI("CheckNewSQL : Translation_fr_version found so loading");
- Local_version = kHookLib->patchData->getInt32("Translation_fr_version", 0);
- }
- auto Check_new_sql = RestClient::get("https://baoulettes.fr/download/Updater.json");
- if (Check_new_sql.code == 200) {
- UD_LOGI("CheckNewSQL : Json Found . . .");
- auto Updater_Json = json::parse(Check_new_sql.body);
- std::string DumpJson = Updater_Json.dump();
- UD_LOGI("Updater_Json : %s", DumpJson.c_str());
- Network_version = Updater_Json["Updater"]["Version"].get<int>();
- Network_file = Updater_Json["Updater"]["File"].get<std::string>();
- kHookLib->patchData->putString("Translation_fr_local_file", Network_file);
- UD_LOGI("CheckNewSQL : Local version %d | Network verison %d ",Local_version,Network_version);
- if (Network_version > Local_version) {
- Need_to_update = true;
- UD_LOGI("CheckNewSQL : Update is required");
- } else {
- Need_to_update = false;
- UD_LOGI("CheckNewSQL : Update is not required");
- }
- } else {
- UD_LOGI("CheckNewSQL : Json Not found . . .");
- Need_to_update = false;
- }
- // Need_to_update = true; //Debug!
- if (Need_to_update == true) {
- std::string file_fetch = "https://baoulettes.fr/download/"+Network_file+".sql";
- auto update_sql = RestClient::get(file_fetch);
- if (update_sql.code == 200) {
- auto link_url_not_found = "https://baoulettes.fr/download/"+Network_file+".sql is found";
- UD_LOGI(link_url_not_found.c_str());
- std::string s = update_sql.body;
- int count = 0;
- UD_LOGI("size : [%d]", s.size());
- UD_LOGI("length : [%d]", s.length());
- UD_LOGI("capacity : [%d]", s.capacity());
- UD_LOGI("max_size : [%d]", s.max_size());
- int substrIO = BufferIO;
- for (unsigned i = 0; i < s.length();) {
- std::string To_Save;
- if (i > s.length()) {
- substrIO = s.length();
- } else {
- substrIO = BufferIO;
- }
- To_Save = s.substr(i, substrIO);
- UD_LOGI("Step(s) : [%d]", count);
- UD_LOGI("BufferIO : [%d]", BufferIO);
- UD_LOGI("substrIO : [%d]", substrIO);
- kHookLib->patchData->putString("Translation_fr_sql_v"+std::to_string(Network_version)+"_"+std::to_string(count), To_Save);
- count++;
- i = i + BufferIO;
- }
- UD_LOGI("Trying : kHookLib->patchData->putInt32(\"Translation_fr_version\", Network_version");
- kHookLib->patchData->putInt32("Translation_fr_version", Network_version);
- } else {
- UD_LOGI("file_fetch not found : %s",file_fetch.c_str());
- }
- }
- std::string Translation_fr_sql;
- Local_file = kHookLib->patchData->getString("Translation_fr_local_file", "");
- Local_version = kHookLib->patchData->getInt32("Translation_fr_version", 0);
- int count_load = 0;
- int substrIO_load = BufferIO;
- for (unsigned i = 0; i < 10;) {
- UD_LOGI("Load step: [%d]", count_load);
- if (!kHookLib->patchData->exists("Translation_fr_sql_v"+std::to_string(Local_version)+"_"+std::to_string(count_load))) {
- UD_LOGI("Save not found : Translation_fr_sql_v%d_%d",Local_version,count_load);
- break;
- } else {
- UD_LOGI("Save found : Translation_fr_sql_v%d_%d",Local_version,count_load);
- Translation_fr_sql.append(kHookLib->patchData->getString("Translation_fr_sql_v"+Local_file+"_"+std::to_string(count_load), ""));
- }
- count_load++;
- i++;
- }
- // UD_LOGI("Inserting Translation_fr_sql : %s",Translation_fr_sql.c_str());
- UD_LOGI("Inserting Translation_fr_sql_v%d",Local_version);
- UniDokkan::Database::exec(Translation_fr_sql.c_str());
- UD_LOGI("inserted Translation_fr_sql_v%d",Local_version);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement