Source of file MultisitesInitAssetsTask.php
Size: 1,254 Bytes - Last Modified: 2021-12-23T10:49:59+00:00
/var/www/docs.ssmods.com/process/src/src/Job/MultisitesInitAssetsTask.php
123456789101112131415161718192021222324252627282930313233343536373839404142434445 | <?php namespace Symbiote\Multisites\Job; use SilverStripe\Assets\Folder; use SilverStripe\Assets\File; use SilverStripe\Dev\BuildTask; /** * move assets to a folder with the name of the current Multisite->Host * * @package default * @author * */ class MultisitesInitAssetsTask extends BuildTask { private static $segment = 'MultisitesInitAssetsTask'; protected $enabled = true; protected $description = 'move assets to a folder with the name of the current multisite'; /** * Implement this method in the task subclass to * execute via the TaskRunner */ public function run($request) { $currentSite = Multisites::inst()->getCurrentSite(); $folderName = $currentSite->Host ? $currentSite->Host : "site-$currentSite->ID"; $folder = Folder::find_or_make($folderName); $files = File::get()->filter('ParentID', array(0))->exclude('ID', $folder->ID); if (!$files->count()) { return; } foreach ($files as $file) { if (file_exists($file->getFullPath())) { $file->ParentID = $folder->ID; $file->write(); echo $file->Filename.' moved <br />'; } } } } |