Completed
Push — master ( 1bb9ae...807fec )
by James Ekow Abaka
03:08
created
src/DataOperations.php 3 patches
Doc Comments   +3 added lines patch added patch discarded remove patch
@@ -237,6 +237,9 @@
 block discarded – undo
237 237
         }
238 238
     }     
239 239
     
240
+    /**
241
+     * @param string $event
242
+     */
240 243
     private function runBehaviours($event, $args)
241 244
     {
242 245
         foreach($this->wrapper->getBehaviours() as $behaviour) {
Please login to merge, or discard this patch.
Unused Use Statements   -1 removed lines patch added patch discarded remove patch
@@ -25,7 +25,6 @@
 block discarded – undo
25 25
 
26 26
 namespace ntentan\nibii;
27 27
 
28
-use ntentan\utils\Utils;
29 28
 use ntentan\kaikai\Cache;
30 29
 
31 30
 class RecordWrapper implements \ArrayAccess, \Countable, \Iterator
Please login to merge, or discard this patch.
Spacing   +18 added lines, -18 removed lines patch added patch discarded remove patch
@@ -72,17 +72,17 @@  discard block
 block discarded – undo
72 72
         }
73 73
         
74 74
         // Assign an empty array to force a validation error for empty models
75
-        if(empty($data)) {
75
+        if (empty($data)) {
76 76
             $data = [[]];
77 77
         }
78 78
 
79 79
         Db::getDriver()->beginTransaction();
80 80
 
81
-        foreach($data as $i => $datum) {
81
+        foreach ($data as $i => $datum) {
82 82
             $status = $this->saveRecord($datum, $primaryKey);
83 83
             $data[$i] = $datum;
84 84
             
85
-            if(!$status['success']) {
85
+            if (!$status['success']) {
86 86
                 $succesful = false;
87 87
                 $invalidFields[$i] = $status['invalid_fields'];
88 88
                 Db::getDriver()->rollback();
@@ -90,7 +90,7 @@  discard block
 block discarded – undo
90 90
             }
91 91
         }
92 92
         
93
-        if($succesful) {
93
+        if ($succesful) {
94 94
             Db::getDriver()->commit();
95 95
         } else {
96 96
             $this->assignValue($this->invalidFields, $invalidFields);
@@ -123,7 +123,7 @@  discard block
 block discarded – undo
123 123
         $this->wrapper->setData($record);
124 124
 
125 125
         // Run preUpdate or preSave callbacks on models and behaviours
126
-        if($pkSet) {
126
+        if ($pkSet) {
127 127
             $this->wrapper->preUpdateCallback();
128 128
             $record = $this->wrapper->getData();
129 129
             $record = reset($record) === false ? [] : reset($record);
@@ -142,7 +142,7 @@  discard block
 block discarded – undo
142 142
         );
143 143
 
144 144
         // Exit if data is invalid
145
-        if($validity !== true) {
145
+        if ($validity !== true) {
146 146
             $status['invalid_fields'] = $validity;
147 147
             $status['success'] = false;
148 148
             return $status;
@@ -152,7 +152,7 @@  discard block
 block discarded – undo
152 152
         $this->wrapper->setData($record);
153 153
 
154 154
         // Update or save the data and run post callbacks
155
-        if($pkSet) {
155
+        if ($pkSet) {
156 156
             $this->adapter->update($record);
157 157
             $this->wrapper->postUpdateCallback();
158 158
             $this->runBehaviours('postUpdateCallback', [$record]);
@@ -177,15 +177,15 @@  discard block
 block discarded – undo
177 177
             ['model' => $this->wrapper, 'mode' => $mode]
178 178
         );
179 179
 
180
-        if(!$validator->validate($data)) {
180
+        if (!$validator->validate($data)) {
181 181
             $valid = false;
182 182
         }
183 183
         
184
-        if($valid) {
184
+        if ($valid) {
185 185
             $valid = $this->wrapper->onValidate();
186 186
         }
187 187
 
188
-        if($valid === false) {
188
+        if ($valid === false) {
189 189
             $valid = $validator->getInvalidFields();
190 190
         }
191 191
 
@@ -195,17 +195,17 @@  discard block
 block discarded – undo
195 195
 
196 196
     private function isPrimaryKeySet($primaryKey, $data)
197 197
     {
198
-        if(is_string($primaryKey)) {
199
-            if(isset($data[$primaryKey]))
198
+        if (is_string($primaryKey)) {
199
+            if (isset($data[$primaryKey]))
200 200
             {
201 201
                 return true;
202 202
             }
203 203
         }
204
-        foreach($primaryKey as $keyField) {
205
-            if(!isset($data[$keyField])) {
204
+        foreach ($primaryKey as $keyField) {
205
+            if (!isset($data[$keyField])) {
206 206
                 break;
207 207
             }
208
-            if($data[$keyField] !== '' && $data[$keyField] !== null) {
208
+            if ($data[$keyField] !== '' && $data[$keyField] !== null) {
209 209
                 return true;
210 210
             }
211 211
         }
@@ -214,7 +214,7 @@  discard block
 block discarded – undo
214 214
     
215 215
     private function assignValue(&$property, $value)
216 216
     {
217
-        if($this->hasMultipleData) {
217
+        if ($this->hasMultipleData) {
218 218
             $property = $value;
219 219
         } else {
220 220
             $property = $value[0];
@@ -233,7 +233,7 @@  discard block
 block discarded – undo
233 233
     
234 234
     public function isItemDeletable($primaryKey, $data)
235 235
     {
236
-        if($this->isPrimaryKeySet($primaryKey, $data)) {
236
+        if ($this->isPrimaryKeySet($primaryKey, $data)) {
237 237
             return true;
238 238
         } else {
239 239
             return false;
@@ -242,7 +242,7 @@  discard block
 block discarded – undo
242 242
     
243 243
     private function runBehaviours($event, $args)
244 244
     {
245
-        foreach($this->wrapper->getBehaviours() as $behaviour) {
245
+        foreach ($this->wrapper->getBehaviours() as $behaviour) {
246 246
             $args[0] = call_user_func_array([$behaviour, $event], $args);
247 247
         }
248 248
         return $args[0];
Please login to merge, or discard this patch.
src/FilterCompiler.php 3 patches
Doc Comments   +4 added lines patch added patch discarded remove patch
@@ -204,6 +204,10 @@
 block discarded – undo
204 204
         return $return;
205 205
     }
206 206
 
207
+    /**
208
+     * @param integer $level
209
+     * @param string $opr
210
+     */
207 211
     private function parseRightExpression($level, $opr)
208 212
     {
209 213
         switch ($opr) {
Please login to merge, or discard this patch.
Braces   +1 added lines, -2 removed lines patch added patch discarded remove patch
@@ -271,8 +271,7 @@
 block discarded – undo
271 271
             if(is_numeric($key))
272 272
             {
273 273
                 $rewritten["filter_bind_" . ($key + 1)] = $value;
274
-            }
275
-            else
274
+            } else
276 275
             {
277 276
                 $rewritten[$key] = $value;
278 277
             }
Please login to merge, or discard this patch.
Spacing   +9 added lines, -9 removed lines patch added patch discarded remove patch
@@ -60,7 +60,7 @@  discard block
 block discarded – undo
60 60
         $this->getToken();
61 61
         $expression = $this->parseExpression();
62 62
         if ($this->token !== false) {
63
-            throw new FilterCompilerException("Unexpected '" . $this->token . "' in filter [$filter]");
63
+            throw new FilterCompilerException("Unexpected '".$this->token."' in filter [$filter]");
64 64
         }
65 65
         $parsed = $this->renderExpression($expression);
66 66
         return $parsed;
@@ -69,7 +69,7 @@  discard block
 block discarded – undo
69 69
     private function renderExpression($expression)
70 70
     {
71 71
         if (is_array($expression)) {
72
-            $expression = $this->renderExpression($expression['left']) . " {$expression['opr']} " . $this->renderExpression($expression['right']);
72
+            $expression = $this->renderExpression($expression['left'])." {$expression['opr']} ".$this->renderExpression($expression['right']);
73 73
         }
74 74
         return $expression;
75 75
     }
@@ -80,7 +80,7 @@  discard block
 block discarded – undo
80 80
             $tokens = [$tokens];
81 81
         }
82 82
         if (array_search($this->lookahead, $tokens) === false) {
83
-            throw new FilterCompilerException("Expected " . implode(' or ', $tokens) . " but found " . $this->lookahead);
83
+            throw new FilterCompilerException("Expected ".implode(' or ', $tokens)." but found ".$this->lookahead);
84 84
         }
85 85
     }
86 86
 
@@ -172,7 +172,7 @@  discard block
 block discarded – undo
172 172
 
173 173
     private function returnPositionTag()
174 174
     {
175
-        return ":filter_bind_" . (++$this->numPositions);
175
+        return ":filter_bind_".(++$this->numPositions);
176 176
     }
177 177
 
178 178
     private function parseObracket()
@@ -195,7 +195,7 @@  discard block
 block discarded – undo
195 195
             'obracket' => 'parseObracket'
196 196
         ];
197 197
 
198
-        if(isset($methods[$this->lookahead])) {
198
+        if (isset($methods[$this->lookahead])) {
199 199
             $method = $methods[$this->lookahead];
200 200
             $return = $this->$method();
201 201
         }
@@ -254,7 +254,7 @@  discard block
 block discarded – undo
254 254
         }
255 255
 
256 256
         if ($this->token === false && strlen($this->filter) > 0) {
257
-            throw new FilterCompilerException("Unexpected character [" . $this->filter[0] . "] begining " . $this->filter . ".");
257
+            throw new FilterCompilerException("Unexpected character [".$this->filter[0]."] begining ".$this->filter.".");
258 258
         }
259 259
     }
260 260
 
@@ -267,10 +267,10 @@  discard block
 block discarded – undo
267 267
 
268 268
     public function rewriteBoundData($data) {
269 269
         $rewritten = [];
270
-        foreach($data as $key => $value) {
271
-            if(is_numeric($key))
270
+        foreach ($data as $key => $value) {
271
+            if (is_numeric($key))
272 272
             {
273
-                $rewritten["filter_bind_" . ($key + 1)] = $value;
273
+                $rewritten["filter_bind_".($key + 1)] = $value;
274 274
             }
275 275
             else
276 276
             {
Please login to merge, or discard this patch.
src/Nibii.php 1 patch
Doc Comments   +6 added lines patch added patch discarded remove patch
@@ -45,6 +45,9 @@  discard block
 block discarded – undo
45 45
         }
46 46
     }
47 47
     
48
+    /**
49
+     * @param RecordWrapper $instance
50
+     */
48 51
     public static function getModelTable($instance)
49 52
     {
50 53
         if(self::$tableResolver) {
@@ -68,6 +71,9 @@  discard block
 block discarded – undo
68 71
         return $className;
69 72
     }
70 73
     
74
+    /**
75
+     * @param string $class
76
+     */
71 77
     public static function getModelName($class)
72 78
     {
73 79
         if(self::$modelResolver) {
Please login to merge, or discard this patch.
src/Operations.php 2 patches
Doc Comments   +4 added lines patch added patch discarded remove patch
@@ -23,6 +23,10 @@
 block discarded – undo
23 23
         'save'
24 24
     ];
25 25
     
26
+    /**
27
+     * @param RecordWrapper $wrapper
28
+     * @param DriverAdapter $adapter
29
+     */
26 30
     public function __construct($wrapper, $adapter)
27 31
     {
28 32
         $this->wrapper = $wrapper;
Please login to merge, or discard this patch.
Spacing   +5 added lines, -5 removed lines patch added patch discarded remove patch
@@ -14,9 +14,9 @@  discard block
 block discarded – undo
14 14
     private $dataOperations;
15 15
     
16 16
     private $queryOperationMethods = [
17
-        'fetch',    'fetchFirst',   'filter',   'query',    'fields', 
18
-        'cover',    'limit',        'offset',   'filterBy', 'sortBy',
19
-        'delete',   'count',        'update'
17
+        'fetch', 'fetchFirst', 'filter', 'query', 'fields', 
18
+        'cover', 'limit', 'offset', 'filterBy', 'sortBy',
19
+        'delete', 'count', 'update'
20 20
     ];
21 21
     
22 22
     private $dataOperationMethods = [
@@ -35,9 +35,9 @@  discard block
 block discarded – undo
35 35
     {
36 36
         if (array_search($name, $this->queryOperationMethods) !== false) {
37 37
             return call_user_func_array([$this->queryOperations, "do$name"], $arguments);
38
-        } else if (array_search($name, $this->dataOperationMethods) !== false){
38
+        } else if (array_search($name, $this->dataOperationMethods) !== false) {
39 39
             return call_user_func_array([$this->dataOperations, "do$name"], $arguments);
40
-        } else if($this->queryOperations->initDynamicMethod($name)) {
40
+        } else if ($this->queryOperations->initDynamicMethod($name)) {
41 41
             return $this->queryOperations->runDynamicMethod($arguments);
42 42
         } else {
43 43
             throw new NibiiException("Method {$name} not found");
Please login to merge, or discard this patch.
src/QueryEngine.php 2 patches
Doc Comments   +18 added lines patch added patch discarded remove patch
@@ -6,11 +6,17 @@  discard block
 block discarded – undo
6 6
 
7 7
     private $db;
8 8
 
9
+    /**
10
+     * @param \ntentan\atiaa\Driver $driver
11
+     */
9 12
     public function setDriver($driver)
10 13
     {
11 14
         $this->db = $driver;
12 15
     }
13 16
     
17
+    /**
18
+     * @param string $query
19
+     */
14 20
     private function filter($query)
15 21
     {
16 22
         return $query;
@@ -34,6 +40,9 @@  discard block
 block discarded – undo
34 40
         );
35 41
     }
36 42
 
43
+    /**
44
+     * @return string
45
+     */
37 46
     public function getBulkUpdateQuery($data, $parameters)
38 47
     {
39 48
         $updateData = [];
@@ -74,6 +83,9 @@  discard block
 block discarded – undo
74 83
         );
75 84
     }
76 85
 
86
+    /**
87
+     * @return string
88
+     */
77 89
     public function getSelectQuery($parameters)
78 90
     {
79 91
         return $this->filter(sprintf(
@@ -88,6 +100,9 @@  discard block
 block discarded – undo
88 100
         );
89 101
     }
90 102
     
103
+    /**
104
+     * @return string
105
+     */
91 106
     public function getCountQuery($parameters)
92 107
     {
93 108
         return $this->filter(sprintf(
@@ -98,6 +113,9 @@  discard block
 block discarded – undo
98 113
         );
99 114
     }
100 115
 
116
+    /**
117
+     * @return string
118
+     */
101 119
     public function getDeleteQuery($parameters)
102 120
     {
103 121
         return $this->filter(sprintf(
Please login to merge, or discard this patch.
Spacing   +8 added lines, -8 removed lines patch added patch discarded remove patch
@@ -29,15 +29,15 @@  discard block
 block discarded – undo
29 29
         }
30 30
 
31 31
         return $this->filter(
32
-            "INSERT INTO " . $this->db->quoteIdentifier($model->getTable()) .
33
-            " (" . implode(", ", $quotedFields) . ") VALUES (" . implode(', ', $valueFields) . ")"
32
+            "INSERT INTO ".$this->db->quoteIdentifier($model->getTable()).
33
+            " (".implode(", ", $quotedFields).") VALUES (".implode(', ', $valueFields).")"
34 34
         );
35 35
     }
36 36
 
37 37
     public function getBulkUpdateQuery($data, $parameters)
38 38
     {
39 39
         $updateData = [];
40
-        foreach($data as $field => $value) {
40
+        foreach ($data as $field => $value) {
41 41
             $updateData[] = "{$this->db->quoteIdentifier($field)} = :$field";
42 42
         }
43 43
 
@@ -60,17 +60,17 @@  discard block
 block discarded – undo
60 60
         foreach ($fields as $field) {
61 61
             $quotedField = $this->db->quoteIdentifier($field);
62 62
 
63
-            if(array_search($field, $primaryKey) !== false) {
63
+            if (array_search($field, $primaryKey) !== false) {
64 64
                 $conditions[] = "{$quotedField} = :{$field}";
65 65
             } else {
66 66
                 $valueFields[] = "{$quotedField} = :{$field}";
67 67
             }
68 68
         }
69 69
 
70
-        return $this->filter("UPDATE " .
71
-            $this->db->quoteIdentifier($model->getTable()) .
72
-            " SET " . implode(', ', $valueFields) .
73
-            " WHERE " . implode(' AND ', $conditions)
70
+        return $this->filter("UPDATE ".
71
+            $this->db->quoteIdentifier($model->getTable()).
72
+            " SET ".implode(', ', $valueFields).
73
+            " WHERE ".implode(' AND ', $conditions)
74 74
         );
75 75
     }
76 76
 
Please login to merge, or discard this patch.
src/QueryParameters.php 3 patches
Doc Comments   +6 added lines, -1 removed lines patch added patch discarded remove patch
@@ -23,7 +23,6 @@  discard block
 block discarded – undo
23 23
 
24 24
     /**
25 25
      *
26
-     * @param \ $model
27 26
      */
28 27
     public function __construct($wrapper)
29 28
     {
@@ -118,6 +117,9 @@  discard block
 block discarded – undo
118 117
         $this->boundData += $values;
119 118
     }
120 119
 
120
+    /**
121
+     * @param boolean $firstOnly
122
+     */
121 123
     public function setFirstOnly($firstOnly)
122 124
     {
123 125
         $this->firstOnly = $firstOnly;
@@ -139,6 +141,9 @@  discard block
 block discarded – undo
139 141
         $this->offset = $offset;
140 142
     }
141 143
     
144
+    /**
145
+     * @param string $field
146
+     */
142 147
     public function addSort($field, $direction = 'ASC')
143 148
     {
144 149
         $this->sorts[] = "$field $direction";
Please login to merge, or discard this patch.
Indentation   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -92,10 +92,10 @@
 block discarded – undo
92 92
         if ($numValues === 1) {
93 93
             $key = "filter_{$startIndex}";
94 94
             if($values[0] === null) {
95
-               $this->whereClause .= "{$field} is NULL";
95
+                $this->whereClause .= "{$field} is NULL";
96 96
             } else {
97
-               $this->whereClause .= "{$field} = :$key";
98
-               $this->boundData[$key] = reset($values);
97
+                $this->whereClause .= "{$field} = :$key";
98
+                $this->boundData[$key] = reset($values);
99 99
             }
100 100
         } else {
101 101
             $this->whereClause .= "{$field} IN (";
Please login to merge, or discard this patch.
Spacing   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -80,7 +80,7 @@  discard block
 block discarded – undo
80 80
     
81 81
     public function getSorts()
82 82
     {
83
-        return count($this->sorts) ? " ORDER BY " . implode(", ", $this->sorts) : null;
83
+        return count($this->sorts) ? " ORDER BY ".implode(", ", $this->sorts) : null;
84 84
     }
85 85
 
86 86
     public function addFilter($field, $values = [])
@@ -91,7 +91,7 @@  discard block
 block discarded – undo
91 91
 
92 92
         if ($numValues === 1) {
93 93
             $key = "filter_{$startIndex}";
94
-            if($values[0] === null) {
94
+            if ($values[0] === null) {
95 95
                $this->whereClause .= "{$field} is NULL";
96 96
             } else {
97 97
                $this->whereClause .= "{$field} = :$key";
@@ -101,7 +101,7 @@  discard block
 block discarded – undo
101 101
             $this->whereClause .= "{$field} IN (";
102 102
             $comma = '';
103 103
             for ($i = 0; $i < $numValues; $i++) {
104
-                $key = "filter_" . ($startIndex + $i);
104
+                $key = "filter_".($startIndex + $i);
105 105
                 $this->whereClause .= "$comma:$key";
106 106
                 $this->boundData[$key] = $values[$i];
107 107
                 $comma = ' ,';
Please login to merge, or discard this patch.
src/ModelDescription.php 1 patch
Spacing   +5 added lines, -5 removed lines patch added patch discarded remove patch
@@ -28,10 +28,10 @@  discard block
 block discarded – undo
28 28
                 'default' => $details['default'],
29 29
                 'name' => $field
30 30
             ];
31
-            if(isset($details['default'])) {
31
+            if (isset($details['default'])) {
32 32
                 $this->fields[$field]['default'] = $details['default'];
33 33
             }
34
-            if(isset($details['length'])) {
34
+            if (isset($details['length'])) {
35 35
                 $this->fields[$field]['length'] = $details['length'];
36 36
             }
37 37
         }
@@ -39,7 +39,7 @@  discard block
 block discarded – undo
39 39
         $this->appendConstraints($schema['primary_key'], $this->primaryKey, true);
40 40
         $this->appendConstraints($schema['unique_keys'], $this->uniqueKeys);
41 41
 
42
-        foreach($relationships as $type => $relations) {
42
+        foreach ($relationships as $type => $relations) {
43 43
             $this->createRelationships($type, $relations);
44 44
         }
45 45
 
@@ -61,7 +61,7 @@  discard block
 block discarded – undo
61 61
 
62 62
     private function getRelationshipDetails($relationship)
63 63
     {
64
-        if(is_string($relationship))
64
+        if (is_string($relationship))
65 65
         {
66 66
             return [
67 67
                 'model' => $relationship,
@@ -81,7 +81,7 @@  discard block
 block discarded – undo
81 81
 
82 82
     private function createRelationships($type, $relationships)
83 83
     {
84
-        foreach($relationships as $relationship)
84
+        foreach ($relationships as $relationship)
85 85
         {
86 86
             $relationship = $this->getRelationshipDetails($relationship);
87 87
             $class = "\\ntentan\\nibii\\relationships\\{$type}Relationship";
Please login to merge, or discard this patch.
src/ModelValidator.php 1 patch
Spacing   +5 added lines, -5 removed lines patch added patch discarded remove patch
@@ -15,17 +15,17 @@  discard block
 block discarded – undo
15 15
         $this->model = $model;
16 16
         $description = $model->getDescription();
17 17
 
18
-        if($description->getAutoPrimaryKey()) {
18
+        if ($description->getAutoPrimaryKey()) {
19 19
             $pk = $description->getPrimaryKey()[0];
20 20
         }
21 21
 
22 22
         $fields = $description->getFields();
23
-        foreach($fields as $field) {
23
+        foreach ($fields as $field) {
24 24
             $this->getFieldRules($rules, $field, $pk);
25 25
         }
26 26
         
27 27
         $unique = $description->getUniqueKeys();
28
-        foreach($unique as $constraints) {
28
+        foreach ($unique as $constraints) {
29 29
             $rules['unique'][] = [$constraints['fields']];
30 30
         }
31 31
         
@@ -39,10 +39,10 @@  discard block
 block discarded – undo
39 39
 
40 40
     private function getFieldRules(&$rules, $field, $pk)
41 41
     {
42
-        if($field['required'] && $field['name'] != $pk && $field['default'] === null) {
42
+        if ($field['required'] && $field['name'] != $pk && $field['default'] === null) {
43 43
             $rules['required'][] = $field['name'];
44 44
         }
45
-        if($field['type'] === 'integer' || $field['type'] === 'double') {
45
+        if ($field['type'] === 'integer' || $field['type'] === 'double') {
46 46
             $rules['numeric'][] = $field['name'];
47 47
         }
48 48
     }
Please login to merge, or discard this patch.
src/QueryOperations.php 2 patches
Spacing   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -79,7 +79,7 @@  discard block
 block discarded – undo
79 79
         } else if ($arg instanceof \ntentan\nibii\QueryParameters) {
80 80
             $parameters = $arg;
81 81
         } else if (is_array($arg)) {
82
-            foreach($arg as $field => $value) {
82
+            foreach ($arg as $field => $value) {
83 83
                 $parameters->addFilter($field, [$value]);
84 84
             }
85 85
         }
@@ -113,11 +113,11 @@  discard block
 block discarded – undo
113 113
     {
114 114
         $fields = [];
115 115
         $arguments = func_get_args();
116
-        foreach($arguments as $argument) {
117
-            if(is_array($argument)) {
116
+        foreach ($arguments as $argument) {
117
+            if (is_array($argument)) {
118 118
                 $fields = array_merge($fields, $argument);
119 119
             } else {
120
-                $fields[]=$argument;
120
+                $fields[] = $argument;
121 121
             }
122 122
         }
123 123
         $this->getQueryParameters()->setFields($fields);
Please login to merge, or discard this patch.
Unused Use Statements   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -26,8 +26,8 @@
 block discarded – undo
26 26
 
27 27
 namespace ntentan\nibii;
28 28
 
29
-use ntentan\utils\Text;
30 29
 use ntentan\atiaa\Db;
30
+use ntentan\utils\Text;
31 31
 
32 32
 class QueryOperations
33 33
 {
Please login to merge, or discard this patch.