Last active
January 15, 2019 09:18
-
-
Save purplespider/1bd8580c7dde10a22a226fd5f7ab5791 to your computer and use it in GitHub Desktop.
SilverStripe 4 Generate CMS Thumbs Task - Use with legacy_filenames
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
namespace PurpleSpider\Tasks; | |
use SilverStripe\Dev\BuildTask; | |
use SilverStripe\Control\Director; | |
use SilverStripe\Assets\File; | |
use SilverStripe\AssetAdmin\Controller\AssetAdmin; | |
use SilverStripe\ORM\DB; | |
class GenerateCMSThumbs extends BuildTask | |
{ | |
protected $title = 'Generate CMS Thumbs'; | |
private static $segment = 'GenerateCMSThumbs'; | |
public function run($request) | |
{ | |
set_time_limit(0); | |
$admin = self::singleton(AssetAdmin::class); | |
$files = File::get(); | |
$total = $files->count(); | |
$count = 0; | |
foreach ($files as $file) { | |
$count++; | |
$name = $file->getFilename(); | |
$originalDir = BASE_PATH . '/'.Director::publicDir().'/assets/'; | |
$admin->generateThumbnails($file); | |
if(Director::is_cli()) { | |
echo "Generated {$count}/{$total}: ".$name."\r\n"; | |
} else { | |
echo '<b style="color:green">Generated: '.$name.'</b><br>'; | |
} | |
} | |
echo "\r\nComplete!\r\n\r\n"; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add to config.yml:
dev/build
php vendor/silverstripe/framework/cli-script.php dev/build
Run migration script:
php vendor/silverstripe/framework/cli-script.php dev/tasks/MigrateFileTask
Run above script:
Visit
example.com/dev/tasks/GenerateCMSThumbs
Note: Doesn't appear to work correctly when ran from command line.