Passed
Push — main ( 273db0...683317 )
by Thierry
03:54
created
jaxon-core/src/Di/ComponentContainer.php 1 patch
Spacing   +12 added lines, -12 removed lines patch added patch discarded remove patch
@@ -82,7 +82,7 @@  discard block
 block discarded – undo
82 82
 
83 83
         // Register the logger component, and export to js.
84 84
         $this->di->callback()->boot(function() {
85
-            if($this->di->config()->loggingEnabled())
85
+            if ($this->di->config()->loggingEnabled())
86 86
             {
87 87
                 $this->saveComponent(LoggerComponent::class, [
88 88
                     'separator' => '.',
@@ -189,13 +189,13 @@  discard block
 block discarded – undo
189 189
         try
190 190
         {
191 191
             // Make sure the registered class exists
192
-            if(isset($aOptions['include']))
192
+            if (isset($aOptions['include']))
193 193
             {
194 194
                 require_once $aOptions['include'];
195 195
             }
196 196
             $xReflectionClass = new ReflectionClass($sClassName);
197 197
             // Check if the class is registrable
198
-            if(!$xReflectionClass->isInstantiable())
198
+            if (!$xReflectionClass->isInstantiable())
199 199
             {
200 200
                 return;
201 201
             }
@@ -205,12 +205,12 @@  discard block
 block discarded – undo
205 205
             $sClassKey = $this->getReflectionClassKey($sClassName);
206 206
             $this->val($sClassKey, $xReflectionClass);
207 207
             // Register the user class, but only if the user didn't already.
208
-            if(!$this->has($sClassName))
208
+            if (!$this->has($sClassName))
209 209
             {
210 210
                 $this->set($sClassName, fn() => $this->make($this->get($sClassKey)));
211 211
             }
212 212
         }
213
-        catch(ReflectionException $e)
213
+        catch (ReflectionException $e)
214 214
         {
215 215
             throw new SetupException($this->cn()->g(Translator::class)
216 216
                 ->trans('errors.class.invalid', ['name' => $sClassName]));
@@ -232,7 +232,7 @@  discard block
 block discarded – undo
232 232
 
233 233
         $sComponentObject = $this->getCallableObjectKey($sClassName);
234 234
         // Prevent duplication. It's important not to use the class name here.
235
-        if($this->has($sComponentObject))
235
+        if ($this->has($sComponentObject))
236 236
         {
237 237
             return $sClassName;
238 238
         }
@@ -258,14 +258,14 @@  discard block
 block discarded – undo
258 258
 
259 259
         // Initialize the user class instance
260 260
         $this->xContainer->extend($sClassName, function($xClassInstance) use($sClassName) {
261
-            if($xClassInstance instanceof AbstractComponent)
261
+            if ($xClassInstance instanceof AbstractComponent)
262 262
             {
263 263
                 $xHelper = $this->get($this->getCallableHelperKey($sClassName));
264 264
                 $xHelper->xTarget = $this->xTarget;
265 265
 
266 266
                 // Call the protected "initComponent()" method of the Component class.
267 267
                 $cSetter = function($di, $xHelper) {
268
-                    $this->initComponent($di, $xHelper);  // "$this" here refers to the Component class.
268
+                    $this->initComponent($di, $xHelper); // "$this" here refers to the Component class.
269 269
                 };
270 270
                 $cSetter = $cSetter->bindTo($xClassInstance, $xClassInstance);
271 271
                 call_user_func($cSetter, $this->di, $xHelper);
@@ -280,7 +280,7 @@  discard block
 block discarded – undo
280 280
             /** @var CallableObject */
281 281
             $xCallableObject = $this->get($this->getCallableObjectKey($sClassName));
282 282
             $xCallableObject->setDiClassAttributes($xClassInstance);
283
-            if($this->xTarget !== null)
283
+            if ($this->xTarget !== null)
284 284
             {
285 285
                 $sMethodName = $this->xTarget->getMethodName();
286 286
                 $xCallableObject->setDiMethodAttributes($xClassInstance, $sMethodName);
@@ -343,17 +343,17 @@  discard block
 block discarded – undo
343 343
     public function getComponentRequestFactory(string $sClassName): ?JxnCall
344 344
     {
345 345
         $sClassName = trim($sClassName, " \t");
346
-        if($sClassName === '')
346
+        if ($sClassName === '')
347 347
         {
348 348
             return null;
349 349
         }
350 350
 
351 351
         $sFactoryKey = $this->getRequestFactoryKey($sClassName);
352
-        if(!$this->has($sFactoryKey))
352
+        if (!$this->has($sFactoryKey))
353 353
         {
354 354
             $this->xContainer->offsetSet($sFactoryKey, function() use($sClassName) {
355 355
                 $sComponentId = str_replace('\\', '.', $sClassName);
356
-                if(!($xCallable = $this->makeCallableObject($sComponentId)))
356
+                if (!($xCallable = $this->makeCallableObject($sComponentId)))
357 357
                 {
358 358
                     return null;
359 359
                 }
Please login to merge, or discard this patch.
jaxon-core/src/Di/Container.php 1 patch
Spacing   +2 added lines, -3 removed lines patch added patch discarded remove patch
@@ -116,8 +116,7 @@  discard block
 block discarded – undo
116 116
     public function setLogger(LoggerInterface|Closure $xLogger)
117 117
     {
118 118
         is_a($xLogger, LoggerInterface::class) ?
119
-            $this->val(LoggerInterface::class, $xLogger) :
120
-            $this->set(LoggerInterface::class, $xLogger);
119
+            $this->val(LoggerInterface::class, $xLogger) : $this->set(LoggerInterface::class, $xLogger);
121 120
     }
122 121
 
123 122
     /**
@@ -196,7 +195,7 @@  discard block
 block discarded – undo
196 195
             return $this->xAppContainer != null && $this->xAppContainer->has($sClass) ?
197 196
                 $this->xAppContainer->get($sClass) : $this->xLibContainer->offsetGet($sClass);
198 197
         }
199
-        catch(Throwable $e)
198
+        catch (Throwable $e)
200 199
         {
201 200
             $xLogger = $this->g(LoggerInterface::class);
202 201
             $xTranslator = $this->g(Translator::class);
Please login to merge, or discard this patch.
jaxon-core/src/Request/Handler/RequestHandler.php 1 patch
Spacing   +10 added lines, -10 removed lines patch added patch discarded remove patch
@@ -61,7 +61,7 @@  discard block
 block discarded – undo
61 61
     public function canProcessRequest(): bool
62 62
     {
63 63
         // Return true if the request plugin was already found
64
-        if($this->xRequestPlugin !== null)
64
+        if ($this->xRequestPlugin !== null)
65 65
         {
66 66
             return true;
67 67
         }
@@ -70,9 +70,9 @@  discard block
 block discarded – undo
70 70
         $xRequest = $this->di->getRequest();
71 71
 
72 72
         // Find a plugin to process the request
73
-        foreach($this->xPluginManager->getRequestHandlers() as $sClassName)
73
+        foreach ($this->xPluginManager->getRequestHandlers() as $sClassName)
74 74
         {
75
-            if($sClassName::canProcessRequest($xRequest))
75
+            if ($sClassName::canProcessRequest($xRequest))
76 76
             {
77 77
                 $this->xRequestPlugin = $this->di->g($sClassName);
78 78
                 $xTarget = $this->xRequestPlugin->setTarget($xRequest);
@@ -92,7 +92,7 @@  discard block
 block discarded – undo
92 92
     private function _processRequest(): void
93 93
     {
94 94
         // Process the request
95
-        if($this->xRequestPlugin !== null)
95
+        if ($this->xRequestPlugin !== null)
96 96
         {
97 97
             $this->xRequestPlugin->processRequest();
98 98
             // Process the databag
@@ -112,7 +112,7 @@  discard block
 block discarded – undo
112 112
         $this->di->getBootstrap()->onBoot();
113 113
 
114 114
         // Check if there is a plugin to process this request
115
-        if(!$this->canProcessRequest())
115
+        if (!$this->canProcessRequest())
116 116
         {
117 117
             return;
118 118
         }
@@ -121,11 +121,11 @@  discard block
 block discarded – undo
121 121
         {
122 122
             $bEndRequest = false;
123 123
             // Handle before processing event
124
-            if($this->xRequestPlugin !== null)
124
+            if ($this->xRequestPlugin !== null)
125 125
             {
126 126
                 $this->xCallbackManager->onBefore($this->xRequestPlugin->getTarget(), $bEndRequest);
127 127
             }
128
-            if($bEndRequest)
128
+            if ($bEndRequest)
129 129
             {
130 130
                 return;
131 131
             }
@@ -133,7 +133,7 @@  discard block
 block discarded – undo
133 133
             $this->_processRequest();
134 134
 
135 135
             // Handle after processing event
136
-            if($this->xRequestPlugin !== null)
136
+            if ($this->xRequestPlugin !== null)
137 137
             {
138 138
                 $this->xCallbackManager->onAfter($this->xRequestPlugin->getTarget(), $bEndRequest);
139 139
             }
@@ -141,12 +141,12 @@  discard block
 block discarded – undo
141 141
         // An exception was thrown while processing the request.
142 142
         // The request missed the corresponding handler function,
143 143
         // or an error occurred while attempting to execute the handler.
144
-        catch(RequestException $e)
144
+        catch (RequestException $e)
145 145
         {
146 146
             $this->xResponseManager->error($e->getMessage());
147 147
             $this->xCallbackManager->onInvalid($e);
148 148
         }
149
-        catch(Exception $e)
149
+        catch (Exception $e)
150 150
         {
151 151
             $this->xResponseManager->error($e->getMessage());
152 152
             $this->xCallbackManager->onError($e);
Please login to merge, or discard this patch.
jaxon-core/src/Plugin/Code/CodeGenerator.php 1 patch
Spacing   +20 added lines, -22 removed lines patch added patch discarded remove patch
@@ -109,7 +109,7 @@  discard block
 block discarded – undo
109 109
      */
110 110
     public function addCodeGenerator(string $sClassName, int $nPriority): void
111 111
     {
112
-        while(isset($this->aCodeGenerators[$nPriority]))
112
+        while (isset($this->aCodeGenerators[$nPriority]))
113 113
         {
114 114
             $nPriority++;
115 115
         }
@@ -162,33 +162,33 @@  discard block
 block discarded – undo
162 162
      */
163 163
     private function generatePluginCodes(CodeGeneratorInterface $xGenerator): void
164 164
     {
165
-        if(!is_subclass_of($xGenerator, AbstractPlugin::class) ||
165
+        if (!is_subclass_of($xGenerator, AbstractPlugin::class) ||
166 166
             $this->xAssetManager->shallIncludeAssets($xGenerator))
167 167
         {
168 168
             // HTML tags for CSS
169
-            if(($sCss = trim($xGenerator->getCss(), " \n")) !== '')
169
+            if (($sCss = trim($xGenerator->getCss(), " \n")) !== '')
170 170
             {
171 171
                 $this->aCss[] = $sCss;
172 172
             }
173 173
             // HTML tags for js
174
-            if(($sJs = trim($xGenerator->getJs(), " \n")) !== '')
174
+            if (($sJs = trim($xGenerator->getJs(), " \n")) !== '')
175 175
             {
176 176
                 $this->aJs[] = $sJs;
177 177
             }
178 178
         }
179 179
 
180 180
         // Additional js codes
181
-        if(($xJsCode = $xGenerator->getJsCode()) !== null)
181
+        if (($xJsCode = $xGenerator->getJsCode()) !== null)
182 182
         {
183
-            if(($sJs = trim($xJsCode->sJs, " \n")) !== '')
183
+            if (($sJs = trim($xJsCode->sJs, " \n")) !== '')
184 184
             {
185 185
                 $this->aCodeJs[] = $sJs;
186 186
             }
187
-            if(($sJsBefore = trim($xJsCode->sJsBefore, " \n")) !== '')
187
+            if (($sJsBefore = trim($xJsCode->sJsBefore, " \n")) !== '')
188 188
             {
189 189
                 $this->aCodeJsBefore[] = $sJsBefore;
190 190
             }
191
-            if(($sJsAfter = trim($xJsCode->sJsAfter, " \n")) !== '')
191
+            if (($sJsAfter = trim($xJsCode->sJsAfter, " \n")) !== '')
192 192
             {
193 193
                 $this->aCodeJsAfter[] = $sJsAfter;
194 194
             }
@@ -204,7 +204,7 @@  discard block
 block discarded – undo
204 204
      */
205 205
     private function generateCodes(): void
206 206
     {
207
-        if($this->bGenerated)
207
+        if ($this->bGenerated)
208 208
         {
209 209
             return;
210 210
         }
@@ -219,7 +219,7 @@  discard block
 block discarded – undo
219 219
         $this->xAssetManager = $this->di->getAssetManager();
220 220
 
221 221
         $this->sJsOptions = $this->xAssetManager->getJsOptions();
222
-        foreach($this->aCodeGenerators as $sClassName)
222
+        foreach ($this->aCodeGenerators as $sClassName)
223 223
         {
224 224
             $this->generatePluginCodes($this->getCodeGenerator($sClassName));
225 225
         }
@@ -265,11 +265,11 @@  discard block
 block discarded – undo
265 265
     public function getJsScript(): string
266 266
     {
267 267
         $aJsScripts = [];
268
-        foreach($this->aCodeGenerators as $sClassName)
268
+        foreach ($this->aCodeGenerators as $sClassName)
269 269
         {
270 270
             $xGenerator = $this->getCodeGenerator($sClassName);
271 271
             // Javascript code
272
-            if(($sJsScript = trim($xGenerator->getScript(), " \n")) !== '')
272
+            if (($sJsScript = trim($xGenerator->getScript(), " \n")) !== '')
273 273
             {
274 274
                 $aJsScripts[] = $sJsScript;
275 275
             }
@@ -286,38 +286,36 @@  discard block
 block discarded – undo
286 286
     private function renderCodes(bool $bIncludeJs, bool $bIncludeCss): array
287 287
     {
288 288
         $aCodes = [];
289
-        if($bIncludeCss)
289
+        if ($bIncludeCss)
290 290
         {
291 291
             $aCodes[] = $this->getCss();
292 292
         }
293
-        if($bIncludeJs)
293
+        if ($bIncludeJs)
294 294
         {
295 295
             $aCodes[] = $this->getJs();
296 296
         }
297 297
 
298
-        $sUrl = !$this->xAssetManager->shallCreateJsFiles() ? '' :
299
-            $this->xAssetManager->createJsFiles($this);
298
+        $sUrl = !$this->xAssetManager->shallCreateJsFiles() ? '' : $this->xAssetManager->createJsFiles($this);
300 299
         // Wrap the js code into the corresponding HTML tag.
301 300
         $aCodes[] = $sUrl !== '' ?
302
-            $this->render('include.js', ['sUrl' => $sUrl]) :
303
-            $this->render('wrapper.js', ['sScript' => $this->getJsScript()]);
301
+            $this->render('include.js', ['sUrl' => $sUrl]) : $this->render('wrapper.js', ['sScript' => $this->getJsScript()]);
304 302
 
305 303
         // Wrap the js codes into HTML tags.
306
-        if(count($this->aCodeJsBefore) > 0)
304
+        if (count($this->aCodeJsBefore) > 0)
307 305
         {
308 306
             $sScript = implode("\n\n", $this->aCodeJsBefore);
309 307
             $aCodes[] = $this->render('wrapper.js', ['sScript' => $sScript]);
310 308
         }
311
-        if(count($this->aCodeJs) > 0)
309
+        if (count($this->aCodeJs) > 0)
312 310
         {
313 311
             $sScript = implode("\n\n", $this->aCodeJs);
314 312
             $aCodes[] = $this->render('wrapper.js', ['sScript' => $sScript]);
315 313
         }
316
-        if(count($this->aCodeJsFiles) > 0)
314
+        if (count($this->aCodeJsFiles) > 0)
317 315
         {
318 316
             $aCodes[] = $this->render('includes.js', ['aUrls' => $this->aCodeJsFiles]);
319 317
         }
320
-        if(count($this->aCodeJsAfter) > 0)
318
+        if (count($this->aCodeJsAfter) > 0)
321 319
         {
322 320
             $sScript = implode("\n\n", $this->aCodeJsAfter);
323 321
             $aCodes[] = $this->render('wrapper.js', ['sScript' => $sScript]);
Please login to merge, or discard this patch.
jaxon-core/templates/callables/objects.js.php 1 patch
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -2,7 +2,7 @@
 block discarded – undo
2 2
   rc: (name, method, parameters, options = {}) => jaxon.request({ type: 'class', name, method }, { parameters, ...options}),
3 3
   rf: (name, parameters, options = {}) => jaxon.request({ type: 'func', name }, { parameters, ...options}),
4 4
 <?php
5
-foreach($this->aCallableNames as $nIndex => $sName):
5
+foreach ($this->aCallableNames as $nIndex => $sName):
6 6
   echo "  c$nIndex: '$sName',\n";
7 7
 endforeach
8 8
 ?>
Please login to merge, or discard this patch.
jaxon-core/templates/plugins/config.js.php 1 patch
Spacing   +6 added lines, -6 removed lines patch added patch discarded remove patch
@@ -6,24 +6,24 @@
 block discarded – undo
6 6
 jaxon.config.defaultMethod = '<?php echo $this->sDefaultMethod ?>';
7 7
 jaxon.config.responseType = '<?php echo $this->sResponseType ?>';
8 8
 
9
-<?php if($this->nResponseQueueSize > 0): ?>
9
+<?php if ($this->nResponseQueueSize > 0): ?>
10 10
 jaxon.config.responseQueueSize = <?php echo $this->nResponseQueueSize ?>;
11 11
 <?php endif ?>
12 12
 
13
-<?php if($this->bLoggingEnabled): ?>
13
+<?php if ($this->bLoggingEnabled): ?>
14 14
 jaxon.debug.logger = '<?php echo Jaxon\rq(Jaxon\App\Component\Logger::class)->_class() ?>';
15 15
 <?php endif ?>
16 16
 
17
-<?php if($this->bDebug): ?>
17
+<?php if ($this->bDebug): ?>
18 18
 jaxon.debug.active = true;
19
-<?php if($this->sDebugOutputID): ?>
19
+<?php if ($this->sDebugOutputID): ?>
20 20
 jaxon.debug.outputID = '<?php echo $this->sDebugOutputID ?>';
21 21
 <?php endif ?>
22
-<?php if($this->bVerboseDebug): ?>
22
+<?php if ($this->bVerboseDebug): ?>
23 23
 jaxon.debug.verbose.active = true;
24 24
 <?php endif ?>
25 25
 <?php endif ?>
26 26
 
27
-<?php if($this->sCsrfMetaName): ?>
27
+<?php if ($this->sCsrfMetaName): ?>
28 28
 jaxon.setCsrf('<?php echo $this->sCsrfMetaName ?>');
29 29
 <?php endif ?>
Please login to merge, or discard this patch.
jaxon-core/src/Plugin/Request/CallableClass/CallableClassPlugin.php 1 patch
Spacing   +15 added lines, -17 removed lines patch added patch discarded remove patch
@@ -87,15 +87,15 @@  discard block
 block discarded – undo
87 87
      */
88 88
     public function checkOptions(string $sCallable, $xOptions): array
89 89
     {
90
-        if(!$this->xValidator->validateClass(trim($sCallable)))
90
+        if (!$this->xValidator->validateClass(trim($sCallable)))
91 91
         {
92 92
             throw new SetupException($this->xTranslator->trans('errors.objects.invalid-declaration'));
93 93
         }
94
-        if(is_string($xOptions))
94
+        if (is_string($xOptions))
95 95
         {
96 96
             $xOptions = ['include' => $xOptions];
97 97
         }
98
-        elseif(!is_array($xOptions))
98
+        elseif (!is_array($xOptions))
99 99
         {
100 100
             throw new SetupException($this->xTranslator->trans('errors.objects.invalid-declaration'));
101 101
         }
@@ -140,16 +140,16 @@  discard block
 block discarded – undo
140 140
     private function addCallable(CallableObject $xCallableObject): void
141 141
     {
142 142
         $aCallableMethods = $xCallableObject->getCallableMethods();
143
-        if($xCallableObject->excluded() || count($aCallableMethods) === 0)
143
+        if ($xCallableObject->excluded() || count($aCallableMethods) === 0)
144 144
         {
145 145
             return;
146 146
         }
147 147
 
148 148
         $aCallableObject = &$this->aCallableObjects;
149 149
         $sJsName = $xCallableObject->getJsName();
150
-        foreach(explode('.', $sJsName) as $sName)
150
+        foreach (explode('.', $sJsName) as $sName)
151 151
         {
152
-            if(!isset($aCallableObject['children'][$sName]))
152
+            if (!isset($aCallableObject['children'][$sName]))
153 153
             {
154 154
                 $aCallableObject['children'][$sName] = [];
155 155
             }
@@ -170,12 +170,11 @@  discard block
 block discarded – undo
170 170
     private function renderMethod(string $sIndent, array $aTemplateVars): string
171 171
     {
172 172
         $aOptions = [];
173
-        foreach($aTemplateVars['aMethod']['options'] as $sKey => $sValue)
173
+        foreach ($aTemplateVars['aMethod']['options'] as $sKey => $sValue)
174 174
         {
175 175
             $aOptions[] = "$sKey: $sValue";
176 176
         }
177
-        $aTemplateVars['sArguments'] = count($aOptions) === 0 ? 'args' :
178
-            'args, { ' . implode(', ', $aOptions) . ' }';
177
+        $aTemplateVars['sArguments'] = count($aOptions) === 0 ? 'args' : 'args, { ' . implode(', ', $aOptions) . ' }';
179 178
 
180 179
         return $sIndent . trim($this->xTemplateEngine
181 180
             ->render('jaxon::callables/method.js', $aTemplateVars));
@@ -197,11 +196,10 @@  discard block
 block discarded – undo
197 196
             'aMethod' => $aMethod,
198 197
             'nIndex' => $aCallable['index'] ?? 0,
199 198
         ]);
200
-        $aMethods = !isset($aCallable['methods']) ? [] :
201
-            array_map($fMethodCallback, $aCallable['methods']);
199
+        $aMethods = !isset($aCallable['methods']) ? [] : array_map($fMethodCallback, $aCallable['methods']);
202 200
 
203 201
         $aChildren = [];
204
-        foreach($aCallable['children'] ?? [] as $sName => $aChild)
202
+        foreach ($aCallable['children'] ?? [] as $sName => $aChild)
205 203
         {
206 204
             $aChildren[] = $this->renderChild("$sName:", "$sJsClass.$sName",
207 205
                 $aChild, $nIndent) . ',';
@@ -243,7 +241,7 @@  discard block
 block discarded – undo
243 241
 
244 242
         $this->aCallableNames = [];
245 243
         $this->aCallableObjects = ['children' => []];
246
-        foreach($this->cdi->getCallableObjects() as $xCallableObject)
244
+        foreach ($this->cdi->getCallableObjects() as $xCallableObject)
247 245
         {
248 246
             $this->addCallable($xCallableObject);
249 247
         }
@@ -253,7 +251,7 @@  discard block
 block discarded – undo
253 251
                 'aCallableNames' => $this->aCallableNames,
254 252
             ])
255 253
         ];
256
-        foreach($this->aCallableObjects['children'] as $sJsClass => $aCallable)
254
+        foreach ($this->aCallableObjects['children'] as $sJsClass => $aCallable)
257 255
         {
258 256
             $aScripts[] = $this->renderChild("{$this->sPrefix}$sJsClass =",
259 257
                 $sJsClass, $aCallable) . ';';
@@ -309,7 +307,7 @@  discard block
 block discarded – undo
309 307
         // Will be used to print a translated error message.
310 308
         $aErrorParams = ['class' => $sClassName, 'method' => $sMethodName];
311 309
 
312
-        if(!$this->xValidator->validateJsObject($sClassName) ||
310
+        if (!$this->xValidator->validateJsObject($sClassName) ||
313 311
             !$this->xValidator->validateMethod($sMethodName))
314 312
         {
315 313
             // Unable to find the requested object or method
@@ -323,7 +321,7 @@  discard block
 block discarded – undo
323 321
             /** @var CallableObject */
324 322
             $xCallableObject = $this->getCallable($sClassName);
325 323
 
326
-            if($xCallableObject->excluded($sMethodName))
324
+            if ($xCallableObject->excluded($sMethodName))
327 325
             {
328 326
                 // Unable to find the requested class or method
329 327
                 $this->throwException('', 'errors.objects.excluded', $aErrorParams);
@@ -332,7 +330,7 @@  discard block
 block discarded – undo
332 330
             $sError = 'errors.objects.call';
333 331
             $xCallableObject->call($this->xTarget);
334 332
         }
335
-        catch(ReflectionException|SetupException $e)
333
+        catch (ReflectionException|SetupException $e)
336 334
         {
337 335
             // Unable to execute the requested class or method
338 336
             $this->throwException($e->getMessage(), $sError, $aErrorParams);
Please login to merge, or discard this patch.