Completed
Push — v2 ( 58ecad...2e5c25 )
by Guillaume
06:46
created

ChangeSet::getChangeSet()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 4
c 0
b 0
f 0
rs 10
cc 1
nc 1
nop 0
1
<?php
2
3
namespace ETNA\Doctrine\Extensions;
4
5
/**
6
 * Ce trait permet de maintenir le change set pour une entité
7
 */
8
trait ChangeSet
9
{
10
    public $change_set = [];
11
12
    /**
13
     * Set the value of change_set
14
     *
15
     * @param array   $change_set   the change set
16
     *
17
     * @return self
18
     */
19
    public function setChangeSet(array $change_set)
20
    {
21
        // On ajoute les tags changés au change_set s'ils avaient été ajouté
22
        if (false === empty($this->getChangeSet()["added_tags"])) {
23
            $change_set["added_tags"] = $this->getChangeSet()["added_tags"];
24
        }
25
26
        if (false === empty($this->getChangeSet()["deleted_tags"])) {
27
            $change_set["deleted_tags"] = $this->getChangeSet()["deleted_tags"];
28
        }
29
30
        $this->change_set = $change_set;
31
32
        return $this;
33
    }
34
35
    /**
36
     * Ajoute un champ au change_set de l'entité si elle possède cette propriété
37
     *
38
     * @param string         $field_name   le nom du champ
39
     * @param array          $data         les données changées
40
     *
41
     * @return null
42
     */
43
    public function addFieldToChangeSet($field_name, array $data)
44
    {
45
        $this->change_set[$field_name] = $data;
46
    }
47
48
    /**
49
     * Get the value of change_set
50
     *
51
     * @return array|null
52
     */
53
    public function getChangeSet()
54
    {
55
        return $this->change_set;
56
    }
57
}
58