* @copyright 2020 MyAAC * @link https://my-aac.org */ /** * Class DataLoader */ class DataLoader { private static $locale; private static $startTime; /** * Load data from server */ public static function load() { self::$startTime = microtime(true); require LIBS . 'items.php'; if(Items::loadFromXML()) { success(self::$locale['step_database_loaded_items'] . self::getLoadedTime()); } else { error(Items::getError()); } self::$startTime = microtime(true); require LIBS . 'creatures.php'; if(Creatures::loadFromXML()) { success(self::$locale['step_database_loaded_monsters'] . self::getLoadedTime()); if(Creatures::getMonstersList()->hasErrors()) { self::$locale['step_database_error_monsters'] = str_replace('$LOG$', 'system/logs/error.log', self::$locale['step_database_error_monsters']); warning(self::$locale['step_database_error_monsters']); } } else { error(Creatures::getLastError()); } self::$startTime = microtime(true); require LIBS . 'spells.php'; if(Spells::loadFromXML()) { success(self::$locale['step_database_loaded_spells'] . self::getLoadedTime()); } else { error(Spells::getLastError()); } self::$startTime = microtime(true); if (Towns::save()) { success(self::$locale['step_database_loaded_towns'] . self::getLoadedTime()); } else { warning(self::$locale['step_database_error_towns']); } self::$startTime = microtime(true); require LIBS . 'weapons.php'; if(Weapons::loadFromXML()) { success(self::$locale['step_database_loaded_weapons'] . self::getLoadedTime()); } else { error(Weapons::getError()); } } public static function setLocale($locale) { self::$locale = $locale; } private static function getLoadedTime() { $endTime = round(microtime(true) - self::$startTime, 3); return ' (' . str_replace('$TIME$', $endTime, self::$locale['loaded_in_ms']) . ')'; } }