public function fetchArchivedBlocks($archiveDir, $slotName) { if (!is_dir($archiveDir)) { return array(); } $found = array(); $blockName = basename($archiveDir); // Backward compatibility $this->updateHistory($archiveDir); $historyFile = $archiveDir . '/history.json'; $history = json_decode(file_get_contents($historyFile), true); foreach ($history as $name => $block) { $block = JsonTools::toBlock($this->serializer, json_encode($block)); if (null === $block) { continue; } $block->setName($blockName); $block->setSlotName($slotName); $block->setHistoryName($name); $found[$name] = $block; } krsort($found); $result = array_values($found); return $result; }