Passed
Push — master ( a37889...b0889b )
by Georgi
03:24
created
tests/CommonDataTest.php 1 patch
Indentation   +50 added lines, -50 removed lines patch added patch discarded remove patch
@@ -25,81 +25,81 @@
 block discarded – undo
25 25
 		$this->loadMigrationsFrom(__DIR__ . '../../src/CommonData/Database/Migrations');
26 26
 	}
27 27
 	
28
-    public function testStoreRetrieve()
29
-    {
30
-    	// creating -  retrieving array
31
-    	$arrayExpected = ['c' => 'cc', 'b' => 'bb', 'a' => 'aa', ];
28
+	public function testStoreRetrieve()
29
+	{
30
+		// creating -  retrieving array
31
+		$arrayExpected = ['c' => 'cc', 'b' => 'bb', 'a' => 'aa', ];
32 32
     	
33
-    	CommonData::newArray('abc/def', $arrayExpected);
33
+		CommonData::newArray('abc/def', $arrayExpected);
34 34
         
35
-        $arrayActual = CommonData::getArray('abc/def');
35
+		$arrayActual = CommonData::getArray('abc/def');
36 36
         
37
-        $this->assertEquals($arrayExpected, $arrayActual, 'Problem retrieving commondata sorted by position!');
37
+		$this->assertEquals($arrayExpected, $arrayActual, 'Problem retrieving commondata sorted by position!');
38 38
         
39
-        // retrieving sorted array by key
40
-        $arraySortKey = $arrayExpected;
41
-        ksort($arraySortKey);
39
+		// retrieving sorted array by key
40
+		$arraySortKey = $arrayExpected;
41
+		ksort($arraySortKey);
42 42
         
43
-        $this->assertEquals($arraySortKey, CommonData::getArray('abc/def', 'key'), 'Problem retrieving commondata sorted by key!');
43
+		$this->assertEquals($arraySortKey, CommonData::getArray('abc/def', 'key'), 'Problem retrieving commondata sorted by key!');
44 44
         
45
-        // retrieving sorted array by value
46
-        $arraySortValue = $arrayExpected;
47
-        sort($arraySortValue);
45
+		// retrieving sorted array by value
46
+		$arraySortValue = $arrayExpected;
47
+		sort($arraySortValue);
48 48
         
49
-        $this->assertEquals($arraySortKey, CommonData::getArray('abc/def', 'value'), 'Problem retrieving commondata sorted by value!');
49
+		$this->assertEquals($arraySortKey, CommonData::getArray('abc/def', 'value'), 'Problem retrieving commondata sorted by value!');
50 50
         
51
-        // retrieving array value
52
-        $valueActual = CommonData::getValue('abc/def/a');
51
+		// retrieving array value
52
+		$valueActual = CommonData::getValue('abc/def/a');
53 53
         
54
-        $this->assertEquals($arrayExpected['a'], $valueActual, 'Problem retrieving commondata value!');
54
+		$this->assertEquals($arrayExpected['a'], $valueActual, 'Problem retrieving commondata value!');
55 55
         
56
-        // setting array values
57
-        $arrayChanged = ['a' => 'aaa', 'b' => 'bbb', 'c' => 'ccc'];
56
+		// setting array values
57
+		$arrayChanged = ['a' => 'aaa', 'b' => 'bbb', 'c' => 'ccc'];
58 58
         
59
-        foreach ($arrayChanged as $key => $value) {
60
-        	CommonData::setValue('abc/def/' . $key, $value);
61
-        }
59
+		foreach ($arrayChanged as $key => $value) {
60
+			CommonData::setValue('abc/def/' . $key, $value);
61
+		}
62 62
         
63
-        $arrayActual = CommonData::getArray('abc/def');
63
+		$arrayActual = CommonData::getArray('abc/def');
64 64
         
65
-        $this->assertEquals($arrayChanged, $arrayActual, 'Problem setting commondata value!');
65
+		$this->assertEquals($arrayChanged, $arrayActual, 'Problem setting commondata value!');
66 66
         
67
-        // deleting array node
68
-        unset($arrayChanged['a']);
67
+		// deleting array node
68
+		unset($arrayChanged['a']);
69 69
         
70
-        CommonData::deleteArray('abc/def/a');
70
+		CommonData::deleteArray('abc/def/a');
71 71
         
72
-        $arrayActual = CommonData::getArray('abc/def');
72
+		$arrayActual = CommonData::getArray('abc/def');
73 73
         
74
-        $this->assertEquals($arrayChanged, $arrayActual, 'Problem deleting commondata node!');
74
+		$this->assertEquals($arrayChanged, $arrayActual, 'Problem deleting commondata node!');
75 75
         
76
-        // extending array
77
-        $arrayExtension = ['a' => 'aaa'];
76
+		// extending array
77
+		$arrayExtension = ['a' => 'aaa'];
78 78
         
79
-        $arrayChanged = array_merge($arrayChanged, $arrayExtension);
79
+		$arrayChanged = array_merge($arrayChanged, $arrayExtension);
80 80
         
81
-        CommonData::extendArray('abc/def', $arrayExtension);
81
+		CommonData::extendArray('abc/def', $arrayExtension);
82 82
         
83
-        $arrayActual = CommonData::getArray('abc/def');
83
+		$arrayActual = CommonData::getArray('abc/def');
84 84
         
85
-        $this->assertEquals($arrayChanged, $arrayActual, 'Problem extending commondata array!');
86
-    }
85
+		$this->assertEquals($arrayChanged, $arrayActual, 'Problem extending commondata array!');
86
+	}
87 87
     
88
-    public function testNonExistingArrayException()
89
-    {
90
-    	$this->expectException(CommonDataNotFound::class);
88
+	public function testNonExistingArrayException()
89
+	{
90
+		$this->expectException(CommonDataNotFound::class);
91 91
     	
92
-    	CommonData::getArray('abc/d/ef');
93
-    }
92
+		CommonData::getArray('abc/d/ef');
93
+	}
94 94
     
95
-    public function testNonExistingArraySilent()
96
-    {
97
-    	$this->assertEquals([], CommonData::getArray('abc/d/ef', 'position', true), 'Problem retrieving non-existent commondata array silently!');
98
-    }
95
+	public function testNonExistingArraySilent()
96
+	{
97
+		$this->assertEquals([], CommonData::getArray('abc/d/ef', 'position', true), 'Problem retrieving non-existent commondata array silently!');
98
+	}
99 99
     
100
-    public function testNonExistingValue()
101
-    {
102
-    	$this->assertFalse(CommonData::getValue('abc/d/ef'), 'Problem retrieving non-existent commondata value!');
103
-    }
100
+	public function testNonExistingValue()
101
+	{
102
+		$this->assertFalse(CommonData::getValue('abc/d/ef'), 'Problem retrieving non-existent commondata value!');
103
+	}
104 104
     
105 105
 }
Please login to merge, or discard this patch.
src/CommonData/Database/Models/CommonData.php 1 patch
Indentation   +156 added lines, -156 removed lines patch added patch discarded remove patch
@@ -9,204 +9,204 @@
 block discarded – undo
9 9
 class CommonDataNotFound extends \Exception {}
10 10
 
11 11
 class CommonData extends Model {
12
-    use NodeTrait;
12
+	use NodeTrait;
13 13
     
14
-    protected $table = 'commondata';
15
-    public $timestamps = false;
16
-    protected static $unguarded = true;
14
+	protected $table = 'commondata';
15
+	public $timestamps = false;
16
+	protected static $unguarded = true;
17 17
     
18
-    protected static $cache = [
19
-    		'id' => [],
20
-    		'value' => [],
21
-    		'array' => []
22
-    ];
18
+	protected static $cache = [
19
+			'id' => [],
20
+			'value' => [],
21
+			'array' => []
22
+	];
23 23
     
24
-    public static function getId($path, $clearCache = false)
25
-    {
26
-    	$parentId = null;
27
-    	foreach(explode('/', trim($path,'/')) as $nodeKey) {
28
-    		if ($nodeKey === '') continue; //ignore empty paths
24
+	public static function getId($path, $clearCache = false)
25
+	{
26
+		$parentId = null;
27
+		foreach(explode('/', trim($path,'/')) as $nodeKey) {
28
+			if ($nodeKey === '') continue; //ignore empty paths
29 29
     		
30
-    		if ($clearCache || empty(self::$cache['id'][$parentId][$nodeKey])) {
31
-    			if (! $node = self::where('parent_id', $parentId)->where('key', $nodeKey)->first()) {
32
-    				return false;
33
-    			}
30
+			if ($clearCache || empty(self::$cache['id'][$parentId][$nodeKey])) {
31
+				if (! $node = self::where('parent_id', $parentId)->where('key', $nodeKey)->first()) {
32
+					return false;
33
+				}
34 34
 
35
-    			self::$cache['id'][$parentId][$nodeKey] = $node->id;
36
-    		}
35
+				self::$cache['id'][$parentId][$nodeKey] = $node->id;
36
+			}
37 37
     		
38
-    		$parentId = $id = self::$cache['id'][$parentId][$nodeKey];
39
-    	}
38
+			$parentId = $id = self::$cache['id'][$parentId][$nodeKey];
39
+		}
40 40
     	
41
-    	return $id;
42
-    }
41
+		return $id;
42
+	}
43 43
    
44
-    public static function newId($path, $readonly = false)
45
-    {
46
-    	if (! $path = trim($path,'/')) return false;
44
+	public static function newId($path, $readonly = false)
45
+	{
46
+		if (! $path = trim($path,'/')) return false;
47 47
 
48
-    	$id = $parentId = null;
49
-    	foreach(explode('/', $path) as $nodeKey) {
50
-    		if ($nodeKey === '') continue;
48
+		$id = $parentId = null;
49
+		foreach(explode('/', $path) as $nodeKey) {
50
+			if ($nodeKey === '') continue;
51 51
 
52
-    		if (! $node = self::where('parent_id', $parentId)->where('key', $nodeKey)->first()) {
53
-    			$node = self::create([
54
-    					'parent_id' => $parentId,
55
-    					'key' => $nodeKey,
56
-    					'readonly' => $readonly,
57
-    					'position' => self::where('parent_id', $parentId)->count()
58
-    			], $parentId? self::find($parentId): null);
59
-    		}
52
+			if (! $node = self::where('parent_id', $parentId)->where('key', $nodeKey)->first()) {
53
+				$node = self::create([
54
+						'parent_id' => $parentId,
55
+						'key' => $nodeKey,
56
+						'readonly' => $readonly,
57
+						'position' => self::where('parent_id', $parentId)->count()
58
+				], $parentId? self::find($parentId): null);
59
+			}
60 60
     		
61
-    		$parentId = $id = $node->id;
62
-    	}
61
+			$parentId = $id = $node->id;
62
+		}
63 63
     	
64
-    	return $id;
65
-    }
64
+		return $id;
65
+	}
66 66
     
67
-    public static function setValue($path, $value, $overwrite = true, $readonly = false)
68
-    {
69
-    	if (! $id = self::getId($path)) {
70
-    		if (! $id = self::newId($path, $readonly)) return false;
71
-    	} else {
72
-    		if (! $overwrite) return false;
73
-    	}
67
+	public static function setValue($path, $value, $overwrite = true, $readonly = false)
68
+	{
69
+		if (! $id = self::getId($path)) {
70
+			if (! $id = self::newId($path, $readonly)) return false;
71
+		} else {
72
+			if (! $overwrite) return false;
73
+		}
74 74
 
75
-    	self::findOrFail($id)->update(compact('value', 'readonly'));
75
+		self::findOrFail($id)->update(compact('value', 'readonly'));
76 76
     	
77
-    	self::clearCache();
77
+		self::clearCache();
78 78
     	
79
-    	return true;
80
-    }
79
+		return true;
80
+	}
81 81
     
82
-    public static function clearCache()
83
-    {
84
-    	self::$cache = array_fill_keys(array_keys(self::$cache), []);
85
-    }
82
+	public static function clearCache()
83
+	{
84
+		self::$cache = array_fill_keys(array_keys(self::$cache), []);
85
+	}
86 86
     
87
-    public static function getValue($path, $translate = false)
88
-    {
89
-    	$key = md5(serialize($path));
87
+	public static function getValue($path, $translate = false)
88
+	{
89
+		$key = md5(serialize($path));
90 90
     	
91
-    	if (! isset(self::$cache['value'][$key])) {
92
-    		if(! $id = self::getId($path)) return false;
91
+		if (! isset(self::$cache['value'][$key])) {
92
+			if(! $id = self::getId($path)) return false;
93 93
 
94
-    		self::$cache['value'][$key] = self::find($id)->value;
95
-	    }
94
+			self::$cache['value'][$key] = self::find($id)->value;
95
+		}
96 96
 	    
97
-	    return $translate? __(self::$cache['value'][$key]): self::$cache['value'][$key];
98
-    }
97
+		return $translate? __(self::$cache['value'][$key]): self::$cache['value'][$key];
98
+	}
99 99
         
100
-    /**
101
-     * Creates new array for common use.
102
-     *
103
-     * @param $path string
104
-     * @param $array array initialization value
105
-     * @param $overwrite bool whether method should overwrite if array already exists, otherwise the data will be appended
106
-     * @param $readonly bool do not allow user to change this array from GUI
107
-     */
108
-    public static function newArray($path, $array, $overwrite = false, $readonly = false)
109
-    {
110
-    	self::validateArrayKeys($array);
100
+	/**
101
+	 * Creates new array for common use.
102
+	 *
103
+	 * @param $path string
104
+	 * @param $array array initialization value
105
+	 * @param $overwrite bool whether method should overwrite if array already exists, otherwise the data will be appended
106
+	 * @param $readonly bool do not allow user to change this array from GUI
107
+	 */
108
+	public static function newArray($path, $array, $overwrite = false, $readonly = false)
109
+	{
110
+		self::validateArrayKeys($array);
111 111
     		
112
-    	$path = trim($path, '/');
112
+		$path = trim($path, '/');
113 113
     	
114 114
 		if ($id = self::getId($path)) {
115
-    		if (! $overwrite) {
116
-    			self::extendArray($path, $array);
117
-    			return true;
118
-    		}
115
+			if (! $overwrite) {
116
+				self::extendArray($path, $array);
117
+				return true;
118
+			}
119 119
     				
120
-    		self::find($id)->delete();
121
-    	}
120
+			self::find($id)->delete();
121
+		}
122 122
     			
123
-    	if(! $id = self::newId($path, $readonly)) return false;
123
+		if(! $id = self::newId($path, $readonly)) return false;
124 124
     			
125
-    	if ($overwrite) {
126
-    		self::find($id)->update(compact('readonly'));
127
-    	}
125
+		if ($overwrite) {
126
+			self::find($id)->update(compact('readonly'));
127
+		}
128 128
     			
129
-    	foreach ($array as $key => $value) {
130
-    		self::setValue($path . '/' . $key, $value, true, $readonly);
131
-    	}
129
+		foreach ($array as $key => $value) {
130
+			self::setValue($path . '/' . $key, $value, true, $readonly);
131
+		}
132 132
     			
133
-    	return true;
134
-    }
133
+		return true;
134
+	}
135 135
 
136
-    /**
137
-     * Extends common data array.
138
-     *
139
-     * @param $path string
140
-     * @param $array array values to insert
141
-     * @param $overwrite bool whether method should overwrite data if array key already exists, otherwise the data will be preserved
142
-     */
143
-    public static function extendArray($path, $array, $overwrite=false, $readonly=false)
144
-    {
145
-    	self::validateArrayKeys($array);
136
+	/**
137
+	 * Extends common data array.
138
+	 *
139
+	 * @param $path string
140
+	 * @param $array array values to insert
141
+	 * @param $overwrite bool whether method should overwrite data if array key already exists, otherwise the data will be preserved
142
+	 */
143
+	public static function extendArray($path, $array, $overwrite=false, $readonly=false)
144
+	{
145
+		self::validateArrayKeys($array);
146 146
     	
147
-    	$path = trim($path, '/');
147
+		$path = trim($path, '/');
148 148
     			
149
-    	if (! self::getId($path)){
150
-    		return self::newArray($path, $array, $overwrite, $readonly);
151
-    	}
149
+		if (! self::getId($path)){
150
+			return self::newArray($path, $array, $overwrite, $readonly);
151
+		}
152 152
 
153
-    	foreach ($array as $key => $value) {
154
-    		self::setValue($path . '/' . $key, $value, $overwrite, $readonly);
155
-    	}
156
-    }
153
+		foreach ($array as $key => $value) {
154
+			self::setValue($path . '/' . $key, $value, $overwrite, $readonly);
155
+		}
156
+	}
157 157
         
158
-    /**
159
-     * Returns common data array.
160
-     *
161
-     * @param string array name
162
-     * @return mixed returns an array if such array exists, false otherwise
163
-     */
164
-    public static function getArray($path, $sortColumn = 'position', $silent = false)
165
-    {
166
-    	return self::getCollection($path, $silent)->sortBy($sortColumn)->pluck('value', 'key')->all();
167
-    }
158
+	/**
159
+	 * Returns common data array.
160
+	 *
161
+	 * @param string array name
162
+	 * @return mixed returns an array if such array exists, false otherwise
163
+	 */
164
+	public static function getArray($path, $sortColumn = 'position', $silent = false)
165
+	{
166
+		return self::getCollection($path, $silent)->sortBy($sortColumn)->pluck('value', 'key')->all();
167
+	}
168 168
 
169
-    /**
170
-     * Removes common data array or entry.
171
-     *
172
-     * @param $path string
173
-     * @return true on success, false otherwise
174
-     */
175
-    public static function deleteArray($path){
176
-    	if (! $id = self::getId($path, true)) return false;
169
+	/**
170
+	 * Removes common data array or entry.
171
+	 *
172
+	 * @param $path string
173
+	 * @return true on success, false otherwise
174
+	 */
175
+	public static function deleteArray($path){
176
+		if (! $id = self::getId($path, true)) return false;
177 177
     	
178
-    	self::find($id)->delete();
178
+		self::find($id)->delete();
179 179
     	
180
-    	self::clearCache();
181
-    }
180
+		self::clearCache();
181
+	}
182 182
 
183
-    /**
184
-     * Returns common data collection.
185
-     *
186
-     * @param $path string
187
-     * @return Collection
188
-     */
189
-    public static function getCollection($path, $silent = false)
190
-    {
191
-    	if(isset(self::$cache['array'][$path])) {
192
-    		return self::$cache['array'][$path];
193
-    	}
183
+	/**
184
+	 * Returns common data collection.
185
+	 *
186
+	 * @param $path string
187
+	 * @return Collection
188
+	 */
189
+	public static function getCollection($path, $silent = false)
190
+	{
191
+		if(isset(self::$cache['array'][$path])) {
192
+			return self::$cache['array'][$path];
193
+		}
194 194
     	
195
-    	if (! $id = self::getId($path)) {
196
-    		if ($silent) return collect();
195
+		if (! $id = self::getId($path)) {
196
+			if ($silent) return collect();
197 197
     		
198
-    		throw new CommonDataNotFound('Invalid CommonData::getArray() request: ' . $path);
199
-    	}
198
+			throw new CommonDataNotFound('Invalid CommonData::getArray() request: ' . $path);
199
+		}
200 200
     	
201
-    	return self::$cache['array'][$path] = self::where('parent_id', $id)->get();
202
-    }
201
+		return self::$cache['array'][$path] = self::where('parent_id', $id)->get();
202
+	}
203 203
     
204
-    protected static function validateArrayKeys($array)
205
-    {
206
-    	foreach($array as $key => $value) {
207
-    		if (strpos($key, '/') === false) continue;
204
+	protected static function validateArrayKeys($array)
205
+	{
206
+		foreach($array as $key => $value) {
207
+			if (strpos($key, '/') === false) continue;
208 208
     		
209
-    		\Exception('Invalid common data key: '. $key);
210
-    	}
211
-    }
209
+			\Exception('Invalid common data key: '. $key);
210
+		}
211
+	}
212 212
 }
213 213
\ No newline at end of file
Please login to merge, or discard this patch.