Virtual metadata managment
This commit is contained in:
parent
d6542a09b8
commit
7506dc7479
|
@ -10,6 +10,7 @@
|
||||||
use Carbon\Carbon;
|
use Carbon\Carbon;
|
||||||
use Exception;
|
use Exception;
|
||||||
use Illuminate\Filesystem\FilesystemAdapter;
|
use Illuminate\Filesystem\FilesystemAdapter;
|
||||||
|
use Illuminate\Support\Collection;
|
||||||
use Illuminate\Support\Str;
|
use Illuminate\Support\Str;
|
||||||
use League\Flysystem\StorageAttributes;
|
use League\Flysystem\StorageAttributes;
|
||||||
|
|
||||||
|
@ -134,6 +135,23 @@ public function getSiteTitle(): string
|
||||||
return $title;
|
return $title;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return "virtual" metadata, which is a Collection of extended metadata,
|
||||||
|
* with additions and corrections from the "metadata.json" file
|
||||||
|
*/
|
||||||
|
public function virtualMetadata(): Collection
|
||||||
|
{
|
||||||
|
$mergedData = [];
|
||||||
|
|
||||||
|
foreach ($this->metadata()->get('virtualMetadata', []) as $additionalFile) {
|
||||||
|
$mergedData = array_merge_recursive($mergedData, $this->metadata($additionalFile)->all() ?? []);
|
||||||
|
}
|
||||||
|
|
||||||
|
$replacedData = array_replace_recursive($mergedData, $this->metadata('metadata')->all() ?? []);
|
||||||
|
|
||||||
|
return collect($replacedData);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return a boolean value indicating if there already is a bundle in
|
* Return a boolean value indicating if there already is a bundle in
|
||||||
* specified path
|
* specified path
|
||||||
|
|
|
@ -82,7 +82,10 @@ public function update()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$this->bundle->metadata()->set('virtualMetadata', ['wikidata/included']);
|
||||||
|
|
||||||
$this->bundle->save();
|
$this->bundle->save();
|
||||||
|
$this->bundle->repair();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in New Issue
Block a user