1
0
mirror of https://github.com/BookStackApp/BookStack.git synced 2025-08-09 10:22:51 +03:00

ZIP Imports: Added book content ordering to import preview

This commit is contained in:
Dan Brown
2024-11-22 21:03:04 +00:00
parent 59cfc087e1
commit c0dff6d4a6
5 changed files with 29 additions and 9 deletions

View File

@@ -36,6 +36,20 @@ class ZipExportBook extends ZipExportModel
}
}
public function children(): array
{
$children = [
...$this->pages,
...$this->chapters,
];
usort($children, function ($a, $b) {
return ($a->priority ?? 0) - ($b->priority ?? 0);
});
return $children;
}
public static function fromModel(Book $model, ZipExportFiles $files): self
{
$instance = new self();

View File

@@ -20,7 +20,7 @@ class ZipExportChapter extends ZipExportModel
public function metadataOnly(): void
{
$this->description_html = $this->priority = null;
$this->description_html = null;
foreach ($this->pages as $page) {
$page->metadataOnly();
@@ -30,6 +30,11 @@ class ZipExportChapter extends ZipExportModel
}
}
public function children(): array
{
return $this->pages;
}
public static function fromModel(Chapter $model, ZipExportFiles $files): self
{
$instance = new self();

View File

@@ -23,7 +23,7 @@ class ZipExportPage extends ZipExportModel
public function metadataOnly(): void
{
$this->html = $this->markdown = $this->priority = null;
$this->html = $this->markdown = null;
foreach ($this->attachments as $attachment) {
$attachment->metadataOnly();

View File

@@ -5,7 +5,6 @@ namespace BookStack\Exports\ZipExports;
use BookStack\Exceptions\ZipExportException;
use BookStack\Exports\ZipExports\Models\ZipExportBook;
use BookStack\Exports\ZipExports\Models\ZipExportChapter;
use BookStack\Exports\ZipExports\Models\ZipExportModel;
use BookStack\Exports\ZipExports\Models\ZipExportPage;
use BookStack\Util\WebSafeMimeSniffer;
use ZipArchive;