Completed
Pull Request — master (#62)
by Jason
14:09
created

BlocksVersionedObjectsTask   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 49
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 1

Importance

Changes 0
Metric Value
wmc 4
lcom 0
cbo 1
dl 0
loc 49
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A run() 0 4 1
A updateObjects() 0 18 3
1
<?php
2
3
namespace Dynamic\DynamicBlocks\Task;
4
5
use SilverStripe\Dev\BuildTask;
6
7
/**
8
 * Class BlocksVersionedObjectsTask
9
 */
10
class BlocksVersionedObjectsTask extends BuildTask
11
{
12
13
    /**
14
     * @var string
15
     */
16
    protected $title = 'Publish Block Objects';
17
18
    /**
19
     * @var string
20
     */
21
    protected $description = 'Migrate block objects from alpha releases';
22
23
    /**
24
     * @var bool
25
     */
26
    protected $enabled = true;
27
28
    /**
29
     * @param $request
30
     */
31
    public function run($request)
32
    {
33
        $this->updateObjects();
34
    }
35
36
    /**
37
     * migrate all promos based on page type.
38
     */
39
    public function updateObjects()
40
    {
41
        $objects = [
42
            'AccordionPanel',
43
            'PageSectionObject',
44
            'PhotoGalleryBlockImage',
45
            'PromoObject',
46
        ];
47
        $ct = 0;
48
        foreach ($objects as $object) {
49
            $results = $object::get();
50
            foreach ($results as $result) {
51
                $result->doPublish('Stage', 'Live');
52
                $ct++;
53
            }
54
        }
55
        echo '<p>'.$ct.' block objects updated.</p>';
56
    }
57
58
}