Passed
Push — develop ( fac880...0713b1 )
by Jens
03:08
created

ValuelistFactory   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 33
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 1

Importance

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

1 Method

Rating   Name   Duplication   Size   Complexity  
A createValuelistFromPostValues() 0 21 4
1
<?php
2
/**
3
 * User: Jens
4
 * Date: 8-6-2017
5
 * Time: 14:39
6
 */
7
8
namespace library\storage\factories;
9
10
11
use library\cc\StringUtil;
12
13
class ValuelistFactory
14
{
15
    /**
16
     * Create a sitemap item from post values
17
     *
18
     * @param $postValues
19
     *
20
     * @return \stdClass
21
     * @throws \Exception
22
     */
23
    public static function createValuelistFromPostValues($postValues)
24
    {
25
        if (isset($postValues['title'])) {
26
            $valuelistObject = new \stdClass();
27
            $valuelistObject->title = $postValues['title'];
28
            $valuelistObject->slug = StringUtil::slugify($postValues['title']);
29
            $valuelistObject->pairs = new \stdClass();
30
            if (isset($postValues['keys'], $postValues['values'])) {
31
                foreach ($postValues['keys'] as $key => $value) {
32
                    $valuelistObject->pairs->$value = $postValues['values'][$key];
33
                }
34
            }
35
            $object_vars = get_object_vars($valuelistObject->pairs);
36
            ksort($object_vars);
37
            $valuelistObject->pairs = (object) $object_vars;
38
39
            return $valuelistObject;
40
        } else {
41
            throw new \Exception('Trying to create valuelist with invalid data.');
42
        }
43
    }
44
45
}