Passed
Push — master ( 5146e5...36d909 )
by Alfred
01:50
created
ConfigManager.php 1 patch
Braces   +108 added lines, -65 removed lines patch added patch discarded remove patch
@@ -37,12 +37,12 @@  discard block
 block discarded – undo
37 37
         $numargs = func_num_args();
38 38
         try
39 39
         {
40
-            if($numargs > 2)
41
-                throw new Exception('SETUP ERROR: configuration manager can accept only up to 2 parameters,'.$numargs.' given!');
40
+            if($numargs > 2) {
41
+                            throw new Exception('SETUP ERROR: configuration manager can accept only up to 2 parameters,'.$numargs.' given!');
42
+            }
42 43
             $this->configureOptions($filename,$location);
43 44
             $this->parseConfiguration($this->Options);
44
-        }
45
-        catch(Exception $a)
45
+        } catch(Exception $a)
46 46
         {
47 47
             trigger_error($a->getMessage(),E_USER_ERROR);
48 48
         }
@@ -56,10 +56,18 @@  discard block
 block discarded – undo
56 56
      */
57 57
     public function get($section=null, $item=null)
58 58
     {
59
-        if($item) $item = trim(strtolower($item));
60
-        if($section) $section = trim(strtolower($section));
61
-        if(!count($this->Config)) return false;
62
-        if(!$section or !strlen($section)) return $this->Config;
59
+        if($item) {
60
+          $item = trim(strtolower($item));
61
+        }
62
+        if($section) {
63
+          $section = trim(strtolower($section));
64
+        }
65
+        if(!count($this->Config)) {
66
+          return false;
67
+        }
68
+        if(!$section or !strlen($section)) {
69
+          return $this->Config;
70
+        }
63 71
         if($section AND $item)
64 72
         {
65 73
             if(!isset($this->Config[$section]))
@@ -67,18 +75,22 @@  discard block
 block discarded – undo
67 75
                 $key = $item;
68 76
                 $item = $section;
69 77
                 $section = $this->defaultSection;
70
-                if(!isset($this->Config[$section][$item][$key]))
71
-                    return false;
78
+                if(!isset($this->Config[$section][$item][$key])) {
79
+                                    return false;
80
+                }
72 81
                 return $this->Config[$section][$item][$key];
73 82
             }
74
-        }
75
-        elseif(!$item or !strlen($item))
83
+        } elseif(!$item or !strlen($item))
76 84
         {
77 85
             $item = $section;
78
-            if(isset($this->Config[$item])) return $this->Config[$item];
86
+            if(isset($this->Config[$item])) {
87
+              return $this->Config[$item];
88
+            }
79 89
             $section = $this->defaultSection;
80 90
         }
81
-        if(!isset($this->Config[$section][$item])) return false;
91
+        if(!isset($this->Config[$section][$item])) {
92
+          return false;
93
+        }
82 94
         return $this->Config[$section][$item];
83 95
     }
84 96
     /**
@@ -95,14 +107,17 @@  discard block
 block discarded – undo
95 107
         switch($numarg)
96 108
         {
97 109
             case 1:
98
-                if(!is_array($arguments[0])) return false;
110
+                if(!is_array($arguments[0])) {
111
+                  return false;
112
+                }
99 113
                 $item=array_change_key_case($arguments[0], CASE_LOWER); $section=null; $value=null;
100 114
                 break;
101 115
             case 2:
102
-                if(is_array($arguments[0])) return false;
116
+                if(is_array($arguments[0])) {
117
+                  return false;
118
+                }
103 119
                 $_arg = strtolower(trim($arguments[0]));
104
-                if(is_array($arguments[1])){ $section=$_arg; $item =array_change_key_case($arguments[1], CASE_LOWER);$value=null;}
105
-                else {$item = $_arg;$value=$arguments[1];$section=null;}
120
+                if(is_array($arguments[1])){ $section=$_arg; $item =array_change_key_case($arguments[1], CASE_LOWER);$value=null;} else {$item = $_arg;$value=$arguments[1];$section=null;}
106 121
                 break;
107 122
             default:
108 123
                 break;
@@ -110,18 +125,23 @@  discard block
 block discarded – undo
110 125
         $section = $section? trim(strtolower($section)) : $this->defaultSection;
111 126
         if(!is_array($item))
112 127
         {
113
-            if(!$value) return false;
128
+            if(!$value) {
129
+              return false;
130
+            }
114 131
             $item=trim(strtolower($item));
115 132
             if(!isset($this->Config[$section][$item]) or !is_array($this->Config[$section][$item])):
116 133
                 $this->Config[$section][$item]=$value;
117
-            else:
134
+            else {
135
+              :
118 136
                 if(!is_array($value)) $value = array($value);
137
+            }
119 138
                 $this->Config[$section][$item] = array_merge($this->Config[$section][$item],$value);
120 139
             endif;
121
-        }
122
-        else
140
+        } else
123 141
         {
124
-            if($value) return false;
142
+            if($value) {
143
+              return false;
144
+            }
125 145
             $item = array_change_key_case($item, CASE_LOWER);
126 146
             $sectionsize = count($this->Config[$section]);
127 147
             $itemsize = count($item);
@@ -129,13 +149,17 @@  discard block
 block discarded – undo
129 149
             {
130 150
                 if($itemsize=='1')
131 151
                 {
132
-                    if(isset($this->Config[$section][key($item)]))
133
-                        $this->Config[$section][key($item)] = array_merge($this->Config[$section][key($item)],$item[key($item)]);
134
-                    else if(!is_numeric(key($item))) $this->Config[$section][key($item)]=$item[key($item)];
152
+                    if(isset($this->Config[$section][key($item)])) {
153
+                                            $this->Config[$section][key($item)] = array_merge($this->Config[$section][key($item)],$item[key($item)]);
154
+                    } else if(!is_numeric(key($item))) {
155
+                      $this->Config[$section][key($item)]=$item[key($item)];
156
+                    }
157
+                } else {
158
+                  $this->Config[$section] = array_merge($this->Config[$section],$item);
135 159
                 }
136
-                else $this->Config[$section] = array_merge($this->Config[$section],$item);
160
+            } else {
161
+              $this->Config[$section] = $item;
137 162
             }
138
-            else $this->Config[$section] = $item;
139 163
         }
140 164
         $re = $this->Save();
141 165
         ob_end_clean();
@@ -160,21 +184,25 @@  discard block
 block discarded – undo
160 184
                 if(isset($this->Config[$section][$item][$key]))
161 185
                 {
162 186
                     $itemSize=count($this->Config[$section][$item]);
163
-                    if($itemSize>1) unset($this->Config[$section][$item][$key]);
164
-                    else unset($this->Config[$section]);
187
+                    if($itemSize>1) {
188
+                      unset($this->Config[$section][$item][$key]);
189
+                    } else {
190
+                      unset($this->Config[$section]);
191
+                    }
165 192
                 }
166
-            }
167
-            else
193
+            } else
168 194
             {
169 195
                 $sectionSize=count($this->Config[$section]);
170 196
                 if(isset($this->Config[$section][$item]))
171 197
                 {
172
-                    if($sectionSize>1) unset($this->Config[$section][$item]);
173
-                    else unset($this->Config[$section]);
198
+                    if($sectionSize>1) {
199
+                      unset($this->Config[$section][$item]);
200
+                    } else {
201
+                      unset($this->Config[$section]);
202
+                    }
174 203
                 }
175 204
             }
176
-        }
177
-        else
205
+        } else
178 206
         {
179 207
             $item = $section;
180 208
             if(!isset($this->Config[$item]))
@@ -183,11 +211,15 @@  discard block
 block discarded – undo
183 211
                 $defaultSectionSize = count($this->Config[$section]);
184 212
                 if(isset($this->Config[$section][$item]))
185 213
                 {
186
-                    if($defaultSectionSize>1) unset($this->Config[$section][$item]);
187
-                    else unset($this->Config[$section]);
214
+                    if($defaultSectionSize>1) {
215
+                      unset($this->Config[$section][$item]);
216
+                    } else {
217
+                      unset($this->Config[$section]);
218
+                    }
188 219
                 }
220
+            } else {
221
+              unset($this->Config[$item]);
189 222
             }
190
-            else unset($this->Config[$item]);
191 223
         }
192 224
         return $this->Save();
193 225
     }
@@ -199,27 +231,31 @@  discard block
 block discarded – undo
199 231
      * @throws Exception
200 232
      */
201 233
     private function configureOptions($file,$location=null){
202
-        if(!is_string($file) or ($location and !is_string($location)))
203
-            throw new Exception('SETUP ERROR: configuration manager can accept string only parameters');
234
+        if(!is_string($file) or ($location and !is_string($location))) {
235
+                    throw new Exception('SETUP ERROR: configuration manager can accept string only parameters');
236
+        }
204 237
         $default=[
205 238
             'driver' => 'PHP',
206 239
             'filename' => null,
207 240
             'directory' => __DIR__,
208 241
         ];
209 242
         $Options = [];
210
-        if($location)
211
-            $Options['directory']=rtrim($this->normalize($location),DIRECTORY_SEPARATOR);
212
-        else{
213
-            if(basename($file)!==$file)
214
-                $Options['directory']= rtrim($this->normalize(pathinfo($file,PATHINFO_DIRNAME)),DIRECTORY_SEPARATOR);
243
+        if($location) {
244
+                    $Options['directory']=rtrim($this->normalize($location),DIRECTORY_SEPARATOR);
245
+        } else{
246
+            if(basename($file)!==$file) {
247
+                            $Options['directory']= rtrim($this->normalize(pathinfo($file,PATHINFO_DIRNAME)),DIRECTORY_SEPARATOR);
248
+            }
215 249
         }
216 250
         $Options['filename'] = basename($file);
217
-        if(strpos($Options['filename'],'.')!==false)
218
-            $Options['driver'] = strtoupper(pathinfo($Options['filename'], PATHINFO_EXTENSION));
219
-        else
220
-            $Options['filename']= $Options['filename'].'.'.strtolower($default['driver']);
221
-        if(!in_array($Options['driver'],$this->availableDrivers))
222
-            throw new Exception('ERROR: driver "'.$Options['driver'].'" not supported');
251
+        if(strpos($Options['filename'],'.')!==false) {
252
+                    $Options['driver'] = strtoupper(pathinfo($Options['filename'], PATHINFO_EXTENSION));
253
+        } else {
254
+                    $Options['filename']= $Options['filename'].'.'.strtolower($default['driver']);
255
+        }
256
+        if(!in_array($Options['driver'],$this->availableDrivers)) {
257
+                    throw new Exception('ERROR: driver "'.$Options['driver'].'" not supported');
258
+        }
223 259
         $this->Options = array_merge($default,$Options);
224 260
         return $this->Options;
225 261
     }
@@ -234,12 +270,17 @@  discard block
 block discarded – undo
234 270
         $isAbsolute = stripos(PHP_OS, 'win')===0 ? preg_match('/^[A-Za-z]+:/', $path): !strncmp($path, DIRECTORY_SEPARATOR, 1);
235 271
         if (!$isAbsolute)
236 272
         {
237
-            if (!$relativeTo) $relativeTo = getcwd();
273
+            if (!$relativeTo) {
274
+              $relativeTo = getcwd();
275
+            }
238 276
             $path = $relativeTo.DIRECTORY_SEPARATOR.$path;
239 277
         }
240
-        if (is_link($path) and ($parentPath = realpath(dirname($path))))
241
-            return $parentPath.DIRECTORY_SEPARATOR.$path;
242
-        if ($realpath = realpath($path))  return $realpath;
278
+        if (is_link($path) and ($parentPath = realpath(dirname($path)))) {
279
+                    return $parentPath.DIRECTORY_SEPARATOR.$path;
280
+        }
281
+        if ($realpath = realpath($path)) {
282
+          return $realpath;
283
+        }
243 284
         $parts = explode(DIRECTORY_SEPARATOR, trim($path, DIRECTORY_SEPARATOR));
244 285
         while (end($parts) !== false)
245 286
         {
@@ -263,8 +304,9 @@  discard block
 block discarded – undo
263 304
     {
264 305
         try
265 306
         {  $this->targetFile = $this->normalize($options['directory'].DIRECTORY_SEPARATOR.$options['filename']);
266
-            if(!file_exists($this->targetFile))
267
-                file_put_contents($this->targetFile,'',LOCK_EX);
307
+            if(!file_exists($this->targetFile)) {
308
+                            file_put_contents($this->targetFile,'',LOCK_EX);
309
+            }
268 310
             switch($this->Options['driver'])
269 311
             {
270 312
                 case 'JSON':
@@ -278,11 +320,12 @@  discard block
 block discarded – undo
278 320
                     $this->Config = yaml_parse_file($this->targetFile,0,$ndocs);
279 321
                     break;
280 322
                 default:
281
-                    if(!$this->Config = include $this->targetFile) $this->Config = [];
323
+                    if(!$this->Config = include $this->targetFile) {
324
+                      $this->Config = [];
325
+                    }
282 326
                     break;
283 327
             }
284
-        }
285
-        catch(Exception $b)
328
+        } catch(Exception $b)
286 329
         {
287 330
             trigger_error($b->getMessage(),E_USER_ERROR);
288 331
         }
@@ -309,8 +352,9 @@  discard block
 block discarded – undo
309 352
                     {
310 353
                         is_array($array) or $array = array($array);
311 354
                         $content .= '[' . $section . ']'.PHP_EOL;
312
-                        foreach( $array as $key => $value )
313
-                            $content .= $key.' = '.$value.PHP_EOL;
355
+                        foreach( $array as $key => $value ) {
356
+                                                    $content .= $key.' = '.$value.PHP_EOL;
357
+                        }
314 358
                         $content .= PHP_EOL;
315 359
                     }
316 360
                     break;
@@ -326,8 +370,7 @@  discard block
 block discarded – undo
326 370
                     break;
327 371
             }
328 372
             file_put_contents($this->targetFile, $content, LOCK_EX);
329
-        }
330
-        catch (Exception $e)
373
+        } catch (Exception $e)
331 374
         {  trigger_error($e->getMessage(),E_USER_ERROR);}
332 375
         return true;
333 376
     }
Please login to merge, or discard this patch.