Code Duplication    Length = 82-90 lines in 2 locations

cloudcontrol/library/storage/storage/BricksStorage.php 1 location

@@ 11-100 (lines=90) @@
8
9
use library\storage\factories\BrickFactory;
10
11
class BricksStorage extends AbstractStorage
12
{
13
	/**
14
	 * @return array
15
	 */
16
	public function getBricks()
17
	{
18
		return $this->repository->bricks;
19
	}
20
21
	/**
22
	 * Add a brick
23
	 *
24
	 * @param $postValues
25
	 *
26
	 * @throws \Exception
27
	 */
28
	public function addBrick($postValues)
29
	{
30
		$brickObject = BrickFactory::createBrickFromPostValues($postValues);
31
32
		$bricks = $this->repository->bricks;
33
		$bricks[] = $brickObject;
34
		$this->repository->bricks = $bricks;
35
36
		$this->save();
37
	}
38
39
	/**
40
	 * Get a brick by its slug
41
	 *
42
	 * @param $slug
43
	 *
44
	 * @return \stdClass
45
	 */
46
	public function getBrickBySlug($slug)
47
	{
48
		$bricks = $this->repository->bricks;
49
		foreach ($bricks as $brick) {
50
			if ($brick->slug == $slug) {
51
				return $brick;
52
			}
53
		}
54
55
		return null;
56
	}
57
58
	/**
59
	 * Save changes to a brick
60
	 *
61
	 * @param $slug
62
	 * @param $postValues
63
	 *
64
	 * @throws \Exception
65
	 */
66
	public function saveBrick($slug, $postValues)
67
	{
68
		$brickObject = BrickFactory::createBrickFromPostValues($postValues);
69
70
		$bricks = $this->repository->bricks;
71
		foreach ($bricks as $key => $brick) {
72
			if ($brick->slug == $slug) {
73
				$bricks[$key] = $brickObject;
74
			}
75
		}
76
		$this->repository->bricks = $bricks;
77
		$this->save();
78
	}
79
80
	/**
81
	 * Delete a brick by its slug
82
	 *
83
	 * @param $slug
84
	 *
85
	 * @throws \Exception
86
	 */
87
	public function deleteBrickBySlug($slug)
88
	{
89
		$bricks = $this->repository->bricks;
90
		foreach ($bricks as $key => $brickObject) {
91
			if ($brickObject->slug == $slug) {
92
				unset($bricks[$key]);
93
			}
94
		}
95
96
		$bricks = array_values($bricks);
97
		$this->repository->bricks = $bricks;
98
		$this->save();
99
	}
100
}

cloudcontrol/library/storage/storage/ValuelistsStorage.php 1 location

@@ 13-94 (lines=82) @@
10
11
use library\storage\factories\ValuelistFactory;
12
13
class ValuelistsStorage extends AbstractStorage
14
{
15
    /**
16
     * Get all valuelists
17
     *
18
     * @return mixed
19
     */
20
    public function getValuelists()
21
    {
22
        return $this->repository->valuelists;
23
    }
24
25
    public function addValuelist($postValues)
26
    {
27
        $valueListObject = ValuelistFactory::createValuelistFromPostValues($postValues);
28
        $valuelists = $this->repository->valuelists;
29
        $valuelists[] = $valueListObject;
30
        $this->repository->valuelists = $valuelists;
31
        $this->save();
32
    }
33
34
    /**
35
     * Save changes to a valuelist
36
     *
37
     * @param $slug
38
     * @param $postValues
39
     *
40
     * @throws \Exception
41
     */
42
    public function saveValuelist($slug, $postValues)
43
    {
44
        $valuelistObject = ValuelistFactory::createValuelistFromPostValues($postValues);
45
46
        $valuelists = $this->repository->valuelists;
47
        foreach ($valuelists as $key => $valuelist) {
48
            if ($valuelist->slug == $slug) {
49
                $valuelists[$key] = $valuelistObject;
50
            }
51
        }
52
        $this->repository->valuelists = $valuelists;
53
        $this->save();
54
    }
55
56
    /**
57
     * Get a valuelist by its slug
58
     *
59
     * @param $slug
60
     *
61
     * @return mixed
62
     */
63
    public function getValuelistBySlug($slug)
64
    {
65
        $valuelists = $this->repository->valuelists;
66
        foreach ($valuelists as $valuelist) {
67
            if ($valuelist->slug == $slug) {
68
                return $valuelist;
69
            }
70
        }
71
72
        return null;
73
    }
74
75
    /**
76
     * Delete a sitemap item by its slug
77
     *
78
     * @param $slug
79
     *
80
     * @throws \Exception
81
     */
82
    public function deleteValuelistBySlug($slug)
83
    {
84
        $valuelists = $this->repository->valuelists;
85
        foreach ($valuelists as $key => $valuelist) {
86
            if ($valuelist->slug == $slug) {
87
                unset($valuelists[$key]);
88
            }
89
        }
90
        $valuelists = array_values($valuelists);
91
        $this->repository->valuelists = $valuelists;
92
        $this->save();
93
    }
94
}