Passed
Pull Request — master (#405)
by Nic
10:54
created

EncryptionTask::getMembers()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 2
c 1
b 0
f 0
dl 0
loc 4
rs 10
cc 2
nc 2
nop 0
1
<?php
2
3
namespace Dynamic\FoxyStripe\Tasks;
4
5
use SilverStripe\Dev\BuildTask;
6
use SilverStripe\ORM\DB;
7
use SilverStripe\Security\Member;
8
9
/**
10
 * Class EncryptionTask
11
 * @package Dynamic\FoxyStripe\Tasks
12
 */
13
class EncryptionTask extends BuildTask
14
{
15
    /**
16
     * @var string
17
     */
18
    protected $title = 'Foxy - Encryption Task';
19
20
    /**
21
     * @var string
22
     */
23
    private static $segment = 'foxy-encryption-task';
0 ignored issues
show
introduced by
The private property $segment is not used, and could be removed.
Loading history...
24
25
    /**
26
     * @param \SilverStripe\Control\HTTPRequest $request
27
     */
28
    public function run($request)
29
    {
30
        $this->updateEncryption();
31
    }
32
33
    /**
34
     *
35
     */
36
    protected function updateEncryption()
37
    {
38
        /** @var Member $member */
39
        foreach ($this->getMembers() as $member) {
40
            DB::prepared_query("UPDATE `Member` SET `PasswordEncryption` = ? WHERE `ID` = ?", ['sha1_v2.4', $member->ID]);
41
        }
42
    }
43
44
    /**
45
     * @return \Generator
46
     */
47
    protected function getMembers()
48
    {
49
        foreach (Member::get()->filter('PasswordEncryption:not', 'sha1_v2.4')->sort('ID') as $member) {
50
            yield $member;
51
        }
52
    }
53
}
54