Passed
Push — main ( fd5484...10601e )
by Thierry
05:13
created
jaxon-core/src/Plugin/Request/CallableClass/SortedFileIterator.php 1 patch
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -28,7 +28,7 @@
 block discarded – undo
28 28
     public function __construct(string $sDirectory)
29 29
     {
30 30
         $itFile = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($sDirectory));
31
-        foreach($itFile as $xFile)
31
+        foreach ($itFile as $xFile)
32 32
         {
33 33
             $this->insert($xFile);
34 34
         }
Please login to merge, or discard this patch.
jaxon-core/src/Plugin/Request/CallableClass/CallableDirPlugin.php 1 patch
Spacing   +6 added lines, -6 removed lines patch added patch discarded remove patch
@@ -68,7 +68,7 @@  discard block
 block discarded – undo
68 68
     private function checkDirectory(string $sDirectory): string
69 69
     {
70 70
         $sDirectory = rtrim(trim($sDirectory), '/\\');
71
-        if(!is_dir($sDirectory))
71
+        if (!is_dir($sDirectory))
72 72
         {
73 73
             throw new SetupException($this->xTranslator->trans('errors.objects.invalid-declaration'));
74 74
         }
@@ -81,11 +81,11 @@  discard block
 block discarded – undo
81 81
      */
82 82
     public function checkOptions(string $sCallable, $xOptions): array
83 83
     {
84
-        if(is_string($xOptions))
84
+        if (is_string($xOptions))
85 85
         {
86 86
             $xOptions = ['namespace' => $xOptions];
87 87
         }
88
-        if(!is_array($xOptions))
88
+        if (!is_array($xOptions))
89 89
         {
90 90
             throw new SetupException($this->xTranslator->trans('errors.objects.invalid-declaration'));
91 91
         }
@@ -93,14 +93,14 @@  discard block
 block discarded – undo
93 93
         $xOptions['directory'] = $this->checkDirectory($sCallable);
94 94
         // Check the namespace
95 95
         $sNamespace = $xOptions['namespace'] ?? '';
96
-        if(!($xOptions['namespace'] = trim($sNamespace, ' \\')))
96
+        if (!($xOptions['namespace'] = trim($sNamespace, ' \\')))
97 97
         {
98 98
             $xOptions['namespace'] = '';
99 99
         }
100 100
 
101 101
         // Change the keys in $xOptions to have "\" as separator
102 102
         $_aOptions = [];
103
-        foreach($xOptions as $sName => $aOption)
103
+        foreach ($xOptions as $sName => $aOption)
104 104
         {
105 105
             $sName = trim(str_replace('.', '\\', $sName), ' \\');
106 106
             $_aOptions[$sName] = $aOption;
@@ -114,7 +114,7 @@  discard block
 block discarded – undo
114 114
     public function register(string $sType, string $sCallable, array $aOptions): bool
115 115
     {
116 116
         // The $sCallable var is not used here because the checkOptions() method copied it into the $aOptions array.
117
-        if(($aOptions['namespace']))
117
+        if (($aOptions['namespace']))
118 118
         {
119 119
             $this->xRegistry->registerNamespace($aOptions['namespace'], $aOptions);
120 120
             return true;
Please login to merge, or discard this patch.
jaxon-core/src/Plugin/Request/CallableFunction/CallableFunction.php 2 patches
Spacing   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -104,7 +104,7 @@  discard block
 block discarded – undo
104 104
      */
105 105
     public function configure(string $sName, string $sValue): void
106 106
     {
107
-        switch($sName)
107
+        switch ($sName)
108 108
         {
109 109
         case 'class': // The user function is a method in the given class
110 110
             $this->xPhpFunction = [$sValue, $this->xPhpFunction];
@@ -128,12 +128,12 @@  discard block
 block discarded – undo
128 128
      */
129 129
     public function call(array $aArgs = []): void
130 130
     {
131
-        if($this->sInclude !== '')
131
+        if ($this->sInclude !== '')
132 132
         {
133 133
             require_once $this->sInclude;
134 134
         }
135 135
         // If the function is an alias for a class method, then instantiate the class
136
-        if(is_array($this->xPhpFunction) && is_string($this->xPhpFunction[0]))
136
+        if (is_array($this->xPhpFunction) && is_string($this->xPhpFunction[0]))
137 137
         {
138 138
             $sClassName = $this->xPhpFunction[0];
139 139
             $this->xPhpFunction[0] = $this->di->h($sClassName) ?
Please login to merge, or discard this patch.
Switch Indentation   +42 added lines, -42 removed lines patch added patch discarded remove patch
@@ -28,29 +28,29 @@  discard block
 block discarded – undo
28 28
 
29 29
 class CallableFunction
30 30
 {
31
-    /**
31
+/**
32 32
      * A string or an array which defines the registered PHP function
33 33
      *
34 34
      * @var string|array
35 35
      */
36
-    private $xPhpFunction;
36
+private $xPhpFunction;
37 37
 
38
-    /**
38
+/**
39 39
      * The path and file name of the include file where the function is defined
40 40
      *
41 41
      * @var string
42 42
      */
43
-    private $sInclude = '';
43
+private $sInclude = '';
44 44
 
45
-    /**
45
+/**
46 46
      * An associative array containing call options that will be sent
47 47
      * to the browser with the client script.
48 48
      *
49 49
      * @var array
50 50
      */
51
-    private $aOptions = [];
51
+private $aOptions = [];
52 52
 
53
-    /**
53
+/**
54 54
      * The constructor
55 55
      *
56 56
      * @param Container $di
@@ -58,43 +58,43 @@  discard block
 block discarded – undo
58 58
      * @param string $sJsFunction
59 59
      * @param string $sPhpFunction
60 60
      */
61
-    public function __construct(private Container $di, private string $sFunction,
62
-        private string $sJsFunction, string $sPhpFunction)
63
-    {
64
-        $this->xPhpFunction = $sPhpFunction;
65
-    }
61
+public function __construct(private Container $di, private string $sFunction,
62
+private string $sJsFunction, string $sPhpFunction)
63
+{
64
+$this->xPhpFunction = $sPhpFunction;
65
+}
66 66
 
67
-    /**
67
+/**
68 68
      * Get the name of the function being referenced
69 69
      *
70 70
      * @return string
71 71
      */
72
-    public function getName(): string
73
-    {
74
-        return $this->sFunction;
75
-    }
72
+public function getName(): string
73
+{
74
+return $this->sFunction;
75
+}
76 76
 
77
-    /**
77
+/**
78 78
      * Get name of the corresponding javascript function
79 79
      *
80 80
      * @return string
81 81
      */
82
-    public function getJsName(): string
83
-    {
84
-        return $this->sJsFunction;
85
-    }
82
+public function getJsName(): string
83
+{
84
+return $this->sJsFunction;
85
+}
86 86
 
87
-    /**
87
+/**
88 88
      * Get the config options of the function being referenced
89 89
      *
90 90
      * @return array
91 91
      */
92
-    public function getOptions(): array
93
-    {
94
-        return $this->aOptions;
95
-    }
92
+public function getOptions(): array
93
+{
94
+return $this->aOptions;
95
+}
96 96
 
97
-    /**
97
+/**
98 98
      * Set call options for this instance
99 99
      *
100 100
      * @param string $sName    The name of the configuration option
@@ -102,20 +102,20 @@  discard block
 block discarded – undo
102 102
      *
103 103
      * @return void
104 104
      */
105
-    public function configure(string $sName, string $sValue): void
106
-    {
107
-        switch($sName)
108
-        {
109
-        case 'class': // The user function is a method in the given class
110
-            $this->xPhpFunction = [$sValue, $this->xPhpFunction];
111
-            break;
112
-        case 'include':
113
-            $this->sInclude = $sValue;
114
-            break;
115
-        default:
116
-            $this->aOptions[$sName] = $sValue;
117
-            break;
118
-        }
105
+public function configure(string $sName, string $sValue): void
106
+{
107
+switch($sName)
108
+{
109
+case 'class': // The user function is a method in the given class
110
+$this->xPhpFunction = [$sValue, $this->xPhpFunction];
111
+break;
112
+case 'include':
113
+$this->sInclude = $sValue;
114
+break;
115
+default:
116
+$this->aOptions[$sName] = $sValue;
117
+break;
118
+}
119 119
     }
120 120
 
121 121
     /**
Please login to merge, or discard this patch.
jaxon-core/src/Plugin/Request/CallableFunction/CallableFunctionPlugin.php 3 patches
Spacing   +11 added lines, -12 removed lines patch added patch discarded remove patch
@@ -85,15 +85,15 @@  discard block
 block discarded – undo
85 85
      */
86 86
     public function checkOptions(string $sCallable, $xOptions): array
87 87
     {
88
-        if(!$this->xValidator->validateFunction(trim($sCallable)))
88
+        if (!$this->xValidator->validateFunction(trim($sCallable)))
89 89
         {
90 90
             throw new SetupException($this->xTranslator->trans('errors.objects.invalid-declaration'));
91 91
         }
92
-        if(is_string($xOptions))
92
+        if (is_string($xOptions))
93 93
         {
94 94
             $xOptions = ['include' => $xOptions];
95 95
         }
96
-        elseif(!is_array($xOptions))
96
+        elseif (!is_array($xOptions))
97 97
         {
98 98
             throw new SetupException($this->xTranslator->trans('errors.objects.invalid-declaration'));
99 99
         }
@@ -114,7 +114,7 @@  discard block
 block discarded – undo
114 114
         $sPhpFunction = trim($sCallable);
115 115
         $sFunction = $sPhpFunction;
116 116
         // Check if an alias is defined
117
-        if(isset($aOptions['alias']))
117
+        if (isset($aOptions['alias']))
118 118
         {
119 119
             $sFunction = (string)$aOptions['alias'];
120 120
             unset($aOptions['alias']);
@@ -138,13 +138,13 @@  discard block
 block discarded – undo
138 138
     public function getCallable(string $sCallable): CallableFunction|null
139 139
     {
140 140
         $sFunction = trim($sCallable);
141
-        if(!isset($this->aFunctions[$sFunction]))
141
+        if (!isset($this->aFunctions[$sFunction]))
142 142
         {
143 143
             return null;
144 144
         }
145 145
         $xCallable = new CallableFunction($this->di, $sFunction,
146 146
             $this->sPrefix . $sFunction, $this->aFunctions[$sFunction]);
147
-        foreach($this->aOptions[$sFunction] as $sName => $sValue)
147
+        foreach ($this->aOptions[$sFunction] as $sName => $sValue)
148 148
         {
149 149
             $xCallable->configure($sName, $sValue);
150 150
         }
@@ -173,7 +173,7 @@  discard block
 block discarded – undo
173 173
     public function getScript(): string
174 174
     {
175 175
         $code = '';
176
-        foreach(array_keys($this->aFunctions) as $sFunction)
176
+        foreach (array_keys($this->aFunctions) as $sFunction)
177 177
         {
178 178
             $xFunction = $this->getCallable($sFunction);
179 179
             $code .= $this->getCallableScript($xFunction);
@@ -211,8 +211,7 @@  discard block
 block discarded – undo
211 211
     private function throwException(Exception $xException, string $sErrorMessage): void
212 212
     {
213 213
         $this->di->getLogger()->error($xException->getMessage());
214
-        throw new RequestException($sErrorMessage . (!$this->bDebug ? '' :
215
-            "\n" . $xException->getMessage()));
214
+        throw new RequestException($sErrorMessage . (!$this->bDebug ? '' : "\n" . $xException->getMessage()));
216 215
     }
217 216
 
218 217
     /**
@@ -224,7 +223,7 @@  discard block
 block discarded – undo
224 223
         $sRequestedFunction = $this->xTarget->getFunctionName();
225 224
 
226 225
         // Security check: make sure the requested function was registered.
227
-        if(!$this->xValidator->validateFunction($sRequestedFunction) ||
226
+        if (!$this->xValidator->validateFunction($sRequestedFunction) ||
228 227
             !isset($this->aFunctions[$sRequestedFunction]))
229 228
         {
230 229
             // Unable to find the requested function
@@ -237,7 +236,7 @@  discard block
 block discarded – undo
237 236
             /** @var CallableFunction */
238 237
             $xFunction = $this->getCallable($sRequestedFunction);
239 238
         }
240
-        catch(Exception $e)
239
+        catch (Exception $e)
241 240
         {
242 241
             // Unable to find the requested function
243 242
             $this->throwException($e, $this->xTranslator->trans('errors.functions.invalid',
@@ -247,7 +246,7 @@  discard block
 block discarded – undo
247 246
         {
248 247
             $xFunction->call($this->xTarget->args());
249 248
         }
250
-        catch(Exception $e)
249
+        catch (Exception $e)
251 250
         {
252 251
             // Unable to execute the requested function
253 252
             $this->throwException($e, $this->xTranslator->trans('errors.functions.call',
Please login to merge, or discard this patch.
Braces   +3 added lines, -6 removed lines patch added patch discarded remove patch
@@ -92,8 +92,7 @@  discard block
 block discarded – undo
92 92
         if(is_string($xOptions))
93 93
         {
94 94
             $xOptions = ['include' => $xOptions];
95
-        }
96
-        elseif(!is_array($xOptions))
95
+        } elseif(!is_array($xOptions))
97 96
         {
98 97
             throw new SetupException($this->xTranslator->trans('errors.objects.invalid-declaration'));
99 98
         }
@@ -236,8 +235,7 @@  discard block
 block discarded – undo
236 235
         {
237 236
             /** @var CallableFunction */
238 237
             $xFunction = $this->getCallable($sRequestedFunction);
239
-        }
240
-        catch(Exception $e)
238
+        } catch(Exception $e)
241 239
         {
242 240
             // Unable to find the requested function
243 241
             $this->throwException($e, $this->xTranslator->trans('errors.functions.invalid',
@@ -246,8 +244,7 @@  discard block
 block discarded – undo
246 244
         try
247 245
         {
248 246
             $xFunction->call($this->xTarget->args());
249
-        }
250
-        catch(Exception $e)
247
+        } catch(Exception $e)
251 248
         {
252 249
             // Unable to execute the requested function
253 250
             $this->throwException($e, $this->xTranslator->trans('errors.functions.call',
Please login to merge, or discard this patch.
Switch Indentation   +142 added lines, -142 removed lines patch added patch discarded remove patch
@@ -42,21 +42,21 @@  discard block
 block discarded – undo
42 42
 
43 43
 class CallableFunctionPlugin extends AbstractRequestPlugin
44 44
 {
45
-    /**
45
+/**
46 46
      * The registered functions names
47 47
      *
48 48
      * @var array
49 49
      */
50
-    protected $aFunctions = [];
50
+protected $aFunctions = [];
51 51
 
52
-    /**
52
+/**
53 53
      * The registered functions options
54 54
      *
55 55
      * @var array
56 56
      */
57
-    protected $aOptions = [];
57
+protected $aOptions = [];
58 58
 
59
-    /**
59
+/**
60 60
      * The constructor
61 61
      *
62 62
      * @param string $sPrefix
@@ -66,41 +66,41 @@  discard block
 block discarded – undo
66 66
      * @param Translator $xTranslator
67 67
      * @param Validator $xValidator
68 68
      */
69
-    public function __construct(private string $sPrefix, private bool $bDebug,
70
-        private Container $di, private TemplateEngine $xTemplateEngine,
71
-        private Translator $xTranslator, private Validator $xValidator)
72
-    {}
69
+public function __construct(private string $sPrefix, private bool $bDebug,
70
+private Container $di, private TemplateEngine $xTemplateEngine,
71
+private Translator $xTranslator, private Validator $xValidator)
72
+{}
73 73
 
74
-    /**
74
+/**
75 75
      * @inheritDoc
76 76
      */
77
-    public function getName(): string
78
-    {
79
-        return Jaxon::CALLABLE_FUNCTION;
80
-    }
77
+public function getName(): string
78
+{
79
+return Jaxon::CALLABLE_FUNCTION;
80
+}
81 81
 
82
-    /**
82
+/**
83 83
      * @inheritDoc
84 84
      * @throws SetupException
85 85
      */
86
-    public function checkOptions(string $sCallable, $xOptions): array
87
-    {
88
-        if(!$this->xValidator->validateFunction(trim($sCallable)))
89
-        {
90
-            throw new SetupException($this->xTranslator->trans('errors.objects.invalid-declaration'));
91
-        }
92
-        if(is_string($xOptions))
93
-        {
94
-            $xOptions = ['include' => $xOptions];
95
-        }
96
-        elseif(!is_array($xOptions))
97
-        {
98
-            throw new SetupException($this->xTranslator->trans('errors.objects.invalid-declaration'));
99
-        }
100
-        return $xOptions;
101
-    }
86
+public function checkOptions(string $sCallable, $xOptions): array
87
+{
88
+if(!$this->xValidator->validateFunction(trim($sCallable)))
89
+{
90
+throw new SetupException($this->xTranslator->trans('errors.objects.invalid-declaration'));
91
+}
92
+if(is_string($xOptions))
93
+{
94
+$xOptions = ['include' => $xOptions];
95
+}
96
+elseif(!is_array($xOptions))
97
+{
98
+throw new SetupException($this->xTranslator->trans('errors.objects.invalid-declaration'));
99
+}
100
+return $xOptions;
101
+}
102 102
 
103
-    /**
103
+/**
104 104
      * Register a user defined function
105 105
      *
106 106
      * @param string $sType    The type of request handler being registered
@@ -109,149 +109,149 @@  discard block
 block discarded – undo
109 109
      *
110 110
      * @return bool
111 111
      */
112
-    public function register(string $sType, string $sCallable, array $aOptions): bool
113
-    {
114
-        $sPhpFunction = trim($sCallable);
115
-        $sFunction = $sPhpFunction;
116
-        // Check if an alias is defined
117
-        if(isset($aOptions['alias']))
118
-        {
119
-            $sFunction = (string)$aOptions['alias'];
120
-            unset($aOptions['alias']);
121
-        }
122
-        $this->aFunctions[$sFunction] = $sPhpFunction;
123
-        $this->aOptions[$sFunction] = $aOptions;
124
-        return true;
125
-    }
112
+public function register(string $sType, string $sCallable, array $aOptions): bool
113
+{
114
+$sPhpFunction = trim($sCallable);
115
+$sFunction = $sPhpFunction;
116
+// Check if an alias is defined
117
+if(isset($aOptions['alias']))
118
+{
119
+$sFunction = (string)$aOptions['alias'];
120
+unset($aOptions['alias']);
121
+}
122
+$this->aFunctions[$sFunction] = $sPhpFunction;
123
+$this->aOptions[$sFunction] = $aOptions;
124
+return true;
125
+}
126 126
 
127
-    /**
127
+/**
128 128
      * @inheritDoc
129 129
      */
130
-    public function getHash(): string
131
-    {
132
-        return md5(implode('', array_keys($this->aFunctions)));
133
-    }
130
+public function getHash(): string
131
+{
132
+return md5(implode('', array_keys($this->aFunctions)));
133
+}
134 134
 
135
-    /**
135
+/**
136 136
      * @inheritDoc
137 137
      */
138
-    public function getCallable(string $sCallable): CallableFunction|null
139
-    {
140
-        $sFunction = trim($sCallable);
141
-        if(!isset($this->aFunctions[$sFunction]))
142
-        {
143
-            return null;
144
-        }
145
-        $xCallable = new CallableFunction($this->di, $sFunction,
146
-            $this->sPrefix . $sFunction, $this->aFunctions[$sFunction]);
147
-        foreach($this->aOptions[$sFunction] as $sName => $sValue)
148
-        {
149
-            $xCallable->configure($sName, $sValue);
150
-        }
151
-        return $xCallable;
152
-    }
138
+public function getCallable(string $sCallable): CallableFunction|null
139
+{
140
+$sFunction = trim($sCallable);
141
+if(!isset($this->aFunctions[$sFunction]))
142
+{
143
+return null;
144
+}
145
+$xCallable = new CallableFunction($this->di, $sFunction,
146
+$this->sPrefix . $sFunction, $this->aFunctions[$sFunction]);
147
+foreach($this->aOptions[$sFunction] as $sName => $sValue)
148
+{
149
+$xCallable->configure($sName, $sValue);
150
+}
151
+return $xCallable;
152
+}
153 153
 
154
-    /**
154
+/**
155 155
      * Generate the javascript function stub that is sent to the browser on initial page load
156 156
      *
157 157
      * @param CallableFunction $xFunction
158 158
      *
159 159
      * @return string
160 160
      */
161
-    private function getCallableScript(CallableFunction $xFunction): string
162
-    {
163
-        return $this->xTemplateEngine->render('jaxon::callables/function.js', [
164
-            'sName' => $xFunction->getName(),
165
-            'sJsName' => $xFunction->getJsName(),
166
-            'aOptions' => $xFunction->getOptions(),
167
-        ]);
168
-    }
161
+private function getCallableScript(CallableFunction $xFunction): string
162
+{
163
+return $this->xTemplateEngine->render('jaxon::callables/function.js', [
164
+'sName' => $xFunction->getName(),
165
+'sJsName' => $xFunction->getJsName(),
166
+'aOptions' => $xFunction->getOptions(),
167
+]);
168
+}
169 169
 
170
-    /**
170
+/**
171 171
      * @inheritDoc
172 172
      */
173
-    public function getScript(): string
174
-    {
175
-        $code = '';
176
-        foreach(array_keys($this->aFunctions) as $sFunction)
177
-        {
178
-            $xFunction = $this->getCallable($sFunction);
179
-            $code .= $this->getCallableScript($xFunction);
180
-        }
181
-        return $code;
182
-    }
173
+public function getScript(): string
174
+{
175
+$code = '';
176
+foreach(array_keys($this->aFunctions) as $sFunction)
177
+{
178
+$xFunction = $this->getCallable($sFunction);
179
+$code .= $this->getCallableScript($xFunction);
180
+}
181
+return $code;
182
+}
183 183
 
184
-    /**
184
+/**
185 185
      * @inheritDoc
186 186
      */
187
-    public static function canProcessRequest(ServerRequestInterface $xRequest): bool
188
-    {
189
-        $aCall = $xRequest->getAttribute('jxncall');
190
-        // throw new \Exception(json_encode(['call' => $aCall]));
191
-        return $aCall !== null && ($aCall['type'] ?? '') === 'func' && isset($aCall['name']);
192
-    }
187
+public static function canProcessRequest(ServerRequestInterface $xRequest): bool
188
+{
189
+$aCall = $xRequest->getAttribute('jxncall');
190
+// throw new \Exception(json_encode(['call' => $aCall]));
191
+return $aCall !== null && ($aCall['type'] ?? '') === 'func' && isset($aCall['name']);
192
+}
193 193
 
194
-    /**
194
+/**
195 195
      * @inheritDoc
196 196
      */
197
-    public function setTarget(ServerRequestInterface $xRequest): Target
198
-    {
199
-        $aCall = $xRequest->getAttribute('jxncall');
200
-        $this->xTarget = Target::makeFunction(trim($aCall['name']));
201
-        return $this->xTarget;
202
-    }
197
+public function setTarget(ServerRequestInterface $xRequest): Target
198
+{
199
+$aCall = $xRequest->getAttribute('jxncall');
200
+$this->xTarget = Target::makeFunction(trim($aCall['name']));
201
+return $this->xTarget;
202
+}
203 203
 
204
-    /**
204
+/**
205 205
      * @param Exception $xException
206 206
      * @param string $sErrorMessage
207 207
      *
208 208
      * @throws RequestException
209 209
      * @return void
210 210
      */
211
-    private function throwException(Exception $xException, string $sErrorMessage): void
212
-    {
213
-        $this->di->getLogger()->error($xException->getMessage());
214
-        throw new RequestException($sErrorMessage . (!$this->bDebug ? '' :
215
-            "\n" . $xException->getMessage()));
216
-    }
211
+private function throwException(Exception $xException, string $sErrorMessage): void
212
+{
213
+$this->di->getLogger()->error($xException->getMessage());
214
+throw new RequestException($sErrorMessage . (!$this->bDebug ? '' :
215
+"\n" . $xException->getMessage()));
216
+}
217 217
 
218
-    /**
218
+/**
219 219
      * @inheritDoc
220 220
      * @throws RequestException
221 221
      */
222
-    public function processRequest(): void
223
-    {
224
-        $sRequestedFunction = $this->xTarget->getFunctionName();
222
+public function processRequest(): void
223
+{
224
+$sRequestedFunction = $this->xTarget->getFunctionName();
225 225
 
226
-        // Security check: make sure the requested function was registered.
227
-        if(!$this->xValidator->validateFunction($sRequestedFunction) ||
228
-            !isset($this->aFunctions[$sRequestedFunction]))
229
-        {
230
-            // Unable to find the requested function
231
-            throw new RequestException($this->xTranslator->trans('errors.functions.invalid',
232
-                ['name' => $sRequestedFunction]));
233
-        }
226
+// Security check: make sure the requested function was registered.
227
+if(!$this->xValidator->validateFunction($sRequestedFunction) ||
228
+!isset($this->aFunctions[$sRequestedFunction]))
229
+{
230
+// Unable to find the requested function
231
+throw new RequestException($this->xTranslator->trans('errors.functions.invalid',
232
+    ['name' => $sRequestedFunction]));
233
+}
234 234
 
235
-        try
236
-        {
237
-            /** @var CallableFunction */
238
-            $xFunction = $this->getCallable($sRequestedFunction);
239
-        }
240
-        catch(Exception $e)
241
-        {
242
-            // Unable to find the requested function
243
-            $this->throwException($e, $this->xTranslator->trans('errors.functions.invalid',
244
-                ['name' => $sRequestedFunction]));
245
-        }
246
-        try
247
-        {
248
-            $xFunction->call($this->xTarget->args());
249
-        }
250
-        catch(Exception $e)
251
-        {
252
-            // Unable to execute the requested function
253
-            $this->throwException($e, $this->xTranslator->trans('errors.functions.call',
254
-                ['name' => $sRequestedFunction]));
255
-        }
256
-    }
235
+try
236
+{
237
+/** @var CallableFunction */
238
+$xFunction = $this->getCallable($sRequestedFunction);
239
+}
240
+catch(Exception $e)
241
+{
242
+// Unable to find the requested function
243
+$this->throwException($e, $this->xTranslator->trans('errors.functions.invalid',
244
+    ['name' => $sRequestedFunction]));
245
+}
246
+try
247
+{
248
+$xFunction->call($this->xTarget->args());
249
+}
250
+catch(Exception $e)
251
+{
252
+// Unable to execute the requested function
253
+$this->throwException($e, $this->xTranslator->trans('errors.functions.call',
254
+    ['name' => $sRequestedFunction]));
255
+}
256
+}
257 257
 }
Please login to merge, or discard this patch.
jaxon-core/src/App/I18n/Translator.php 1 patch
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -26,7 +26,7 @@
 block discarded – undo
26 26
     public function onChange(Config $xConfig, string $sName): void
27 27
     {
28 28
         // Set the library language any time the config is changed.
29
-        if($sName === '' || $sName === 'core.language')
29
+        if ($sName === '' || $sName === 'core.language')
30 30
         {
31 31
             $this->setLocale($xConfig->getOption('core.language'));
32 32
         }
Please login to merge, or discard this patch.
jaxon-core/src/App/Stash/Stash.php 1 patch
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -31,7 +31,7 @@
 block discarded – undo
31 31
     public function get(string $key, mixed $default = null): mixed
32 32
     {
33 33
         $value = $this->values[$key] ?? $default;
34
-        if(is_callable($value))
34
+        if (is_callable($value))
35 35
         {
36 36
             $value = $value();
37 37
             // Save the value returned by the callback in the stash.
Please login to merge, or discard this patch.
jaxon-core/src/App/Ajax/Bootstrap.php 1 patch
Spacing   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -91,11 +91,11 @@  discard block
 block discarded – undo
91 91
             'export' => $bExport,
92 92
             'minify' => $bMinify,
93 93
         ];
94
-        if($sUri !== '')
94
+        if ($sUri !== '')
95 95
         {
96 96
             $aJsOptions['uri'] = $sUri;
97 97
         }
98
-        if($sDir !== '')
98
+        if ($sDir !== '')
99 99
         {
100 100
             $aJsOptions['dir'] = $sDir;
101 101
         }
@@ -151,7 +151,7 @@  discard block
 block discarded – undo
151 151
     {
152 152
         // Popping the callbacks makes each of them to be called once.
153 153
         $aBootCallbacks = $this->xCallbackManager->popBootCallbacks();
154
-        foreach($aBootCallbacks as $aBootCallback)
154
+        foreach ($aBootCallbacks as $aBootCallback)
155 155
         {
156 156
             call_user_func($aBootCallback);
157 157
         }
Please login to merge, or discard this patch.
jaxon-core/src/App/Ajax/App.php 1 patch
Spacing   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -29,7 +29,7 @@  discard block
 block discarded – undo
29 29
      */
30 30
     public function setup(string $sConfigFile = ''): void
31 31
     {
32
-        if(!file_exists($sConfigFile))
32
+        if (!file_exists($sConfigFile))
33 33
         {
34 34
             throw new SetupException($this->translator()
35 35
                 ->trans('errors.file.access', ['path' => $sConfigFile]));
@@ -39,14 +39,14 @@  discard block
 block discarded – undo
39 39
         $aOptions = $this->config()->read($sConfigFile);
40 40
         $aLibOptions = $aOptions['lib'] ?? [];
41 41
         $aAppOptions = $aOptions['app'] ?? [];
42
-        if(!is_array($aLibOptions) || !is_array($aAppOptions))
42
+        if (!is_array($aLibOptions) || !is_array($aAppOptions))
43 43
         {
44 44
             throw new SetupException($sMessage = $this->translator()
45 45
                 ->trans('errors.file.content', ['path' => $sConfigFile]));
46 46
         }
47 47
 
48 48
         // The bootstrap set this to false. It needs to be changed.
49
-        if(!isset($aLibOptions['core']['response']['send']))
49
+        if (!isset($aLibOptions['core']['response']['send']))
50 50
         {
51 51
             $aLibOptions['core']['response']['send'] = true;
52 52
         }
Please login to merge, or discard this patch.
jaxon-core/src/App/Ajax/Traits/SendResponseTrait.php 1 patch
Spacing   +5 added lines, -5 removed lines patch added patch discarded remove patch
@@ -59,20 +59,20 @@  discard block
 block discarded – undo
59 59
      */
60 60
     public function httpResponse(string $sCode = '200'): mixed
61 61
     {
62
-        if(!$this->config()->getOption('core.response.send', false))
62
+        if (!$this->config()->getOption('core.response.send', false))
63 63
         {
64 64
             return null;
65 65
         }
66 66
 
67 67
         // Check to see if headers have already been sent out, in which case we can't do our job
68
-        if(headers_sent($sFilename, $nLineNumber))
68
+        if (headers_sent($sFilename, $nLineNumber))
69 69
         {
70 70
             throw new RequestException($this->translator()
71 71
                 ->trans('errors.output.already-sent', [
72 72
                     'location' => "$sFilename:$nLineNumber",
73 73
                 ]) . "\n" . $this->translator()->trans('errors.output.advice'));
74 74
         }
75
-        if(empty($sContent = $this->getResponseManager()->getOutput()))
75
+        if (empty($sContent = $this->getResponseManager()->getOutput()))
76 76
         {
77 77
             return null;
78 78
         }
@@ -80,7 +80,7 @@  discard block
 block discarded – undo
80 80
         // Set the HTTP response code
81 81
         http_response_code(intval($sCode));
82 82
 
83
-        if($this->di()->getRequest()->getMethod() === 'GET')
83
+        if ($this->di()->getRequest()->getMethod() === 'GET')
84 84
         {
85 85
             header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
86 86
             header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
@@ -90,7 +90,7 @@  discard block
 block discarded – undo
90 90
         header('Content-Type: ' . $this->getResponseManager()->getContentType());
91 91
 
92 92
         print $sContent;
93
-        if($this->config()->getOption('core.process.exit', false))
93
+        if ($this->config()->getOption('core.process.exit', false))
94 94
         {
95 95
             exit();
96 96
         }
Please login to merge, or discard this patch.