Source of file RemoveLocalCopies.php
Size: 1,232 Bytes - Last Modified: 2021-12-24T06:48:48+00:00
/var/www/docs.ssmods.com/process/src/code/tasks/RemoveLocalCopies.php
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 | <?php /** * Created by PhpStorm. * User: francospringveldt * Date: 2017/03/14 * Time: 15:18 PM */ /** * Class RemoveLocalCopies * * This BuildTask can be cronned to remove all local copies of files marked for deletion * * @package */ class RemoveLocalCopies extends BuildTask { protected $title = 'Removes local S3 files'; protected $description = 'Remove local copies of files already migrated to S3'; /** * Implement this method in the task subclass to * execute via the TaskRunner */ public function run($request) { /** * @var S3Facade $facade */ $files = Image::get() ->filter(array('KeepLocal' => false)); $numDeleted = 0; /** * @var Image $file */ foreach ($files as $file) { $path = $file->getFullPath(); unlink($path); $numDeleted++; do { $path = dirname($path); } while ( !preg_match( '/assets$/', $path ) && Filesystem::remove_folder_if_empty($path)); } echo "Total local files removed: $numDeleted"; } } |