1 <?php
2
3 4 5 6 7 8
9 class RepairImportTask extends ScheduledTask {
10
11
12 13 14
15 function process() {
16 ini_set('max_execution_time', 3600);
17
18 $images = DataObject::get('Image', '"Title" IS NULL AND "ParentID"=0', 'Filename, ID DESC');
19 if ($images) {
20 echo "Images:";
21 $done = array();
22 foreach ($images as $img) {
23 if (array_key_exists($img->Filename, $done)) {
24 echo "\n{$img->Filename} ({$img->ID}) deleted (last is {$done[$img->Filename]})";
25 $img->deleteDatabaseOnly();
26 }
27 elseif (!file_exists($img->getFullPath())) {
28 echo "\n{$img->Filename} ({$img->ID}) not exists";
29 $img->deleteDatabaseOnly();
30 }
31 else {
32 $done[$img->Filename] = $img->ID;
33 echo "\n{$img->Filename} ({$img->ID}) saved";
34 }
35 }
36 }
37
38 $folders = DataObject::get('Folder', '"Filename" like \'%__deleted/\' OR "Filename" like \'assets/associated-folders/%\'');
39 if ($folders) {
40 echo "\n\nFolders:";
41 foreach ($folders as $f) {
42 echo "\n". $f->Filename."";
43 if (!file_exists($f->getFullPath())) {
44 echo "\tnot exists!";
45 $f->deleteDatabaseOnly();
46 }
47 }
48 }
49 echo "\ndone.\n";
50 }
51
52 }
53
54
[Raise a SilverStripe Framework issue/bug](https://github.com/silverstripe/silverstripe-framework/issues/new)
- [Raise a SilverStripe CMS issue/bug](https://github.com/silverstripe/silverstripe-cms/issues/new)
- Please use the
Silverstripe Forums to ask development related questions.
-