@@ -6,16 +6,12 @@ |
||
| 6 | 6 | use Ffcms\Core\Cache\MemoryObject; |
| 7 | 7 | use Ffcms\Core\Debug\DebugMeasure; |
| 8 | 8 | use Ffcms\Core\Debug\Manager as Debug; |
| 9 | -use Ffcms\Core\Exception\ForbiddenException; |
|
| 10 | -use Ffcms\Core\Exception\JsonException; |
|
| 11 | 9 | use Ffcms\Core\Exception\NativeException; |
| 12 | 10 | use Ffcms\Core\Exception\NotFoundException; |
| 13 | -use Ffcms\Core\Exception\SyntaxException; |
|
| 14 | 11 | use Ffcms\Core\Exception\TemplateException; |
| 15 | 12 | use Ffcms\Core\Helper\Mailer; |
| 16 | 13 | use Ffcms\Core\Helper\Security; |
| 17 | 14 | use Ffcms\Core\Helper\Type\Any; |
| 18 | -use Ffcms\Core\Helper\Type\Obj; |
|
| 19 | 15 | use Ffcms\Core\Helper\Type\Str; |
| 20 | 16 | use Ffcms\Core\I18n\Translate; |
| 21 | 17 | use Ffcms\Core\Managers\BootManager; |
@@ -185,22 +185,22 @@ discard block |
||
| 185 | 185 | $html = null; |
| 186 | 186 | // lets try to get html full content to page render |
| 187 | 187 | try { |
| 188 | - $this->startMeasure(__METHOD__ . '::callback'); |
|
| 188 | + $this->startMeasure(__METHOD__.'::callback'); |
|
| 189 | 189 | /** @var \Ffcms\Core\Arch\Controller $callClass */ |
| 190 | 190 | $callClass = null; |
| 191 | - $callMethod = 'action' . self::$Request->getAction(); |
|
| 191 | + $callMethod = 'action'.self::$Request->getAction(); |
|
| 192 | 192 | |
| 193 | 193 | // define callback class namespace/name full path |
| 194 | - $cName = (self::$Request->getCallbackAlias() ?? '\Apps\Controller\\' . env_name . '\\' . self::$Request->getController()); |
|
| 194 | + $cName = (self::$Request->getCallbackAlias() ?? '\Apps\Controller\\'.env_name.'\\'.self::$Request->getController()); |
|
| 195 | 195 | if (!class_exists($cName)) |
| 196 | - throw new NotFoundException('Callback class not found: ' . App::$Security->strip_tags($cName)); |
|
| 196 | + throw new NotFoundException('Callback class not found: '.App::$Security->strip_tags($cName)); |
|
| 197 | 197 | |
| 198 | 198 | $callClass = new $cName; |
| 199 | 199 | // check if callback method (action) is exist in class object |
| 200 | 200 | if (!method_exists($callClass, $callMethod)) |
| 201 | - throw new NotFoundException('Method "' . App::$Security->strip_tags($callMethod) . '()" not founded in "' . get_class($callClass) . '"'); |
|
| 201 | + throw new NotFoundException('Method "'.App::$Security->strip_tags($callMethod).'()" not founded in "'.get_class($callClass).'"'); |
|
| 202 | 202 | |
| 203 | - $this->stopMeasure(__METHOD__ . '::callback'); |
|
| 203 | + $this->stopMeasure(__METHOD__.'::callback'); |
|
| 204 | 204 | $params = []; |
| 205 | 205 | if (!Str::likeEmpty(self::$Request->getID())) { |
| 206 | 206 | $params[] = self::$Request->getID(); |
@@ -224,10 +224,10 @@ discard block |
||
| 224 | 224 | 'current' => count($params) |
| 225 | 225 | ])); |
| 226 | 226 | |
| 227 | - $this->startMeasure($cName . '::' . $callMethod); |
|
| 227 | + $this->startMeasure($cName.'::'.$callMethod); |
|
| 228 | 228 | // make callback call to action in controller and get response |
| 229 | 229 | $actionResponse = call_user_func_array([$callClass, $callMethod], $params); |
| 230 | - $this->stopMeasure($cName . '::' . $callMethod); |
|
| 230 | + $this->stopMeasure($cName.'::'.$callMethod); |
|
| 231 | 231 | |
| 232 | 232 | // set response to controller attribute |
| 233 | 233 | if (!Str::likeEmpty($actionResponse)) |
@@ -241,7 +241,7 @@ discard block |
||
| 241 | 241 | $html = $e->display(); |
| 242 | 242 | } else { // or hook exception to system based :))) |
| 243 | 243 | if (App::$Debug) { |
| 244 | - $msg = $e->getMessage() . $e->getTraceAsString(); |
|
| 244 | + $msg = $e->getMessage().$e->getTraceAsString(); |
|
| 245 | 245 | $html = (new NativeException($msg))->display(); |
| 246 | 246 | } else { |
| 247 | 247 | $html = (new NativeException($e->getMessage()))->display(); |
@@ -156,8 +156,9 @@ discard block |
||
| 156 | 156 | |
| 157 | 157 | /** @var array $objects */ |
| 158 | 158 | $objects = App::$Properties->getAll('object'); |
| 159 | - if (!Any::isArray($objects)) |
|
| 160 | - throw new NativeException('Object configurations is not loaded: /Private/Config/Object.php'); |
|
| 159 | + if (!Any::isArray($objects)) { |
|
| 160 | + throw new NativeException('Object configurations is not loaded: /Private/Config/Object.php'); |
|
| 161 | + } |
|
| 161 | 162 | |
| 162 | 163 | // each all objects as service_name => service_instance() |
| 163 | 164 | foreach ($objects as $name => $instance) { |
@@ -192,20 +193,23 @@ discard block |
||
| 192 | 193 | |
| 193 | 194 | // define callback class namespace/name full path |
| 194 | 195 | $cName = (self::$Request->getCallbackAlias() ?? '\Apps\Controller\\' . env_name . '\\' . self::$Request->getController()); |
| 195 | - if (!class_exists($cName)) |
|
| 196 | - throw new NotFoundException('Callback class not found: ' . App::$Security->strip_tags($cName)); |
|
| 196 | + if (!class_exists($cName)) { |
|
| 197 | + throw new NotFoundException('Callback class not found: ' . App::$Security->strip_tags($cName)); |
|
| 198 | + } |
|
| 197 | 199 | |
| 198 | 200 | $callClass = new $cName; |
| 199 | 201 | // check if callback method (action) is exist in class object |
| 200 | - if (!method_exists($callClass, $callMethod)) |
|
| 201 | - throw new NotFoundException('Method "' . App::$Security->strip_tags($callMethod) . '()" not founded in "' . get_class($callClass) . '"'); |
|
| 202 | + if (!method_exists($callClass, $callMethod)) { |
|
| 203 | + throw new NotFoundException('Method "' . App::$Security->strip_tags($callMethod) . '()" not founded in "' . get_class($callClass) . '"'); |
|
| 204 | + } |
|
| 202 | 205 | |
| 203 | 206 | $this->stopMeasure(__METHOD__ . '::callback'); |
| 204 | 207 | $params = []; |
| 205 | 208 | if (!Str::likeEmpty(self::$Request->getID())) { |
| 206 | 209 | $params[] = self::$Request->getID(); |
| 207 | - if (!Str::likeEmpty(self::$Request->getAdd())) |
|
| 208 | - $params[] = self::$Request->getAdd(); |
|
| 210 | + if (!Str::likeEmpty(self::$Request->getAdd())) { |
|
| 211 | + $params[] = self::$Request->getAdd(); |
|
| 212 | + } |
|
| 209 | 213 | } |
| 210 | 214 | |
| 211 | 215 | // get instance of callback object (class::method) as reflection |
@@ -213,16 +217,18 @@ discard block |
||
| 213 | 217 | $argCount = 0; |
| 214 | 218 | // calculate method defined arguments count |
| 215 | 219 | foreach ($instance->getParameters() as $arg) { |
| 216 | - if (!$arg->isOptional()) |
|
| 217 | - $argCount++; |
|
| 220 | + if (!$arg->isOptional()) { |
|
| 221 | + $argCount++; |
|
| 222 | + } |
|
| 218 | 223 | } |
| 219 | 224 | // compare method arg count with passed |
| 220 | - if (count($params) < $argCount) |
|
| 221 | - throw new NotFoundException(__('Arguments for method %method% is not enough. Expected: %required%, got: %current%.', [ |
|
| 225 | + if (count($params) < $argCount) { |
|
| 226 | + throw new NotFoundException(__('Arguments for method %method% is not enough. Expected: %required%, got: %current%.', [ |
|
| 222 | 227 | 'method' => $callMethod, |
| 223 | 228 | 'required' => $argCount, |
| 224 | 229 | 'current' => count($params) |
| 225 | 230 | ])); |
| 231 | + } |
|
| 226 | 232 | |
| 227 | 233 | $this->startMeasure($cName . '::' . $callMethod); |
| 228 | 234 | // make callback call to action in controller and get response |
@@ -230,8 +236,9 @@ discard block |
||
| 230 | 236 | $this->stopMeasure($cName . '::' . $callMethod); |
| 231 | 237 | |
| 232 | 238 | // set response to controller attribute |
| 233 | - if (!Str::likeEmpty($actionResponse)) |
|
| 234 | - $callClass->setOutput($actionResponse); |
|
| 239 | + if (!Str::likeEmpty($actionResponse)) { |
|
| 240 | + $callClass->setOutput($actionResponse); |
|
| 241 | + } |
|
| 235 | 242 | |
| 236 | 243 | // build full compiled output html data with default layout and widgets |
| 237 | 244 | $html = $callClass->buildOutput(); |
@@ -8,7 +8,6 @@ |
||
| 8 | 8 | use Ffcms\Core\Exception\SyntaxException; |
| 9 | 9 | use Ffcms\Core\Helper\ModelFilters; |
| 10 | 10 | use Ffcms\Core\Helper\Type\Any; |
| 11 | -use Ffcms\Core\Helper\Type\Obj; |
|
| 12 | 11 | use Ffcms\Core\Helper\Type\Str; |
| 13 | 12 | |
| 14 | 13 | /** |
@@ -137,7 +137,7 @@ discard block |
||
| 137 | 137 | } elseif (method_exists($class, $obj)) { // maybe its a function? |
| 138 | 138 | $class = $class::$obj; // call function |
| 139 | 139 | } else { |
| 140 | - throw new SyntaxException('Filter callback execution failed: ' . $filterName); |
|
| 140 | + throw new SyntaxException('Filter callback execution failed: '.$filterName); |
|
| 141 | 141 | } |
| 142 | 142 | } |
| 143 | 143 | } |
@@ -146,7 +146,7 @@ discard block |
||
| 146 | 146 | if (method_exists($class, $method)) { |
| 147 | 147 | $check = @$class::$method($fieldValue, $filterArgs); |
| 148 | 148 | } else { |
| 149 | - throw new SyntaxException('Filter callback execution failed: ' . $filterName); |
|
| 149 | + throw new SyntaxException('Filter callback execution failed: '.$filterName); |
|
| 150 | 150 | } |
| 151 | 151 | } elseif (method_exists('Ffcms\Core\Helper\ModelFilters', $filterName)) { // only full namespace\class path based :( |
| 152 | 152 | if ($filterArgs != null) { |
@@ -155,14 +155,14 @@ discard block |
||
| 155 | 155 | $check = ModelFilters::$filterName($fieldValue); |
| 156 | 156 | } |
| 157 | 157 | } else { |
| 158 | - throw new SyntaxException('Filter "' . $filterName . '" is not exist'); |
|
| 158 | + throw new SyntaxException('Filter "'.$filterName.'" is not exist'); |
|
| 159 | 159 | } |
| 160 | 160 | |
| 161 | 161 | // if one from all validation tests is fail - mark as incorrect attribute |
| 162 | 162 | if ($check !== true) { |
| 163 | 163 | $this->_badAttr[] = $propertyName; |
| 164 | 164 | if (App::$Debug) |
| 165 | - App::$Debug->addMessage('Validation failed. Property: ' . $propertyName . ', filter: ' . $filterName, 'warning'); |
|
| 165 | + App::$Debug->addMessage('Validation failed. Property: '.$propertyName.', filter: '.$filterName, 'warning'); |
|
| 166 | 166 | } else { |
| 167 | 167 | $field_set_name = $propertyName; |
| 168 | 168 | // prevent array-type setting |
@@ -41,8 +41,9 @@ discard block |
||
| 41 | 41 | // if request is submited for this model - try to validate input data |
| 42 | 42 | if ($this->send()) { |
| 43 | 43 | // token is wrong - update bool state |
| 44 | - if ($currentToken !== $this->getRequest('_csrf_token')) |
|
| 45 | - $this->_tokenOk = false; |
|
| 44 | + if ($currentToken !== $this->getRequest('_csrf_token')) { |
|
| 45 | + $this->_tokenOk = false; |
|
| 46 | + } |
|
| 46 | 47 | } |
| 47 | 48 | // set token data to display |
| 48 | 49 | $this->_csrf_token = $newToken; |
@@ -58,21 +59,24 @@ discard block |
||
| 58 | 59 | public function runValidate(array $rules = null) |
| 59 | 60 | { |
| 60 | 61 | // skip validation on empty rules |
| 61 | - if ($rules === null) |
|
| 62 | - return true; |
|
| 62 | + if ($rules === null) { |
|
| 63 | + return true; |
|
| 64 | + } |
|
| 63 | 65 | |
| 64 | 66 | $success = true; |
| 65 | 67 | // list each rule as single one |
| 66 | 68 | foreach ($rules as $rule) { |
| 67 | 69 | // 0 = field (property) name, 1 = filter name, 2 = filter value |
| 68 | - if ($rule[0] === null || $rule[1] === null) |
|
| 69 | - continue; |
|
| 70 | + if ($rule[0] === null || $rule[1] === null) { |
|
| 71 | + continue; |
|
| 72 | + } |
|
| 70 | 73 | |
| 71 | 74 | $propertyName = $rule[0]; |
| 72 | 75 | $validationRule = $rule[1]; |
| 73 | 76 | $validationValue = null; |
| 74 | - if (isset($rule[2])) |
|
| 75 | - $validationValue = $rule[2]; |
|
| 77 | + if (isset($rule[2])) { |
|
| 78 | + $validationValue = $rule[2]; |
|
| 79 | + } |
|
| 76 | 80 | |
| 77 | 81 | // check if target field defined as array and make recursive validation |
| 78 | 82 | if (Any::isArray($propertyName)) { |
@@ -160,8 +164,9 @@ discard block |
||
| 160 | 164 | // if one from all validation tests is fail - mark as incorrect attribute |
| 161 | 165 | if ($check !== true) { |
| 162 | 166 | $this->_badAttr[] = $propertyName; |
| 163 | - if (App::$Debug) |
|
| 164 | - App::$Debug->addMessage('Validation failed. Property: ' . $propertyName . ', filter: ' . $filterName, 'warning'); |
|
| 167 | + if (App::$Debug) { |
|
| 168 | + App::$Debug->addMessage('Validation failed. Property: ' . $propertyName . ', filter: ' . $filterName, 'warning'); |
|
| 169 | + } |
|
| 165 | 170 | } else { |
| 166 | 171 | $field_set_name = $propertyName; |
| 167 | 172 | // prevent array-type setting |
@@ -172,8 +177,9 @@ discard block |
||
| 172 | 177 | if ($propertyName !== $field_set_name) { // array-based property |
| 173 | 178 | $dot_path = trim(strstr($propertyName, '.'), '.'); |
| 174 | 179 | // prevent throws any exceptions for null and false objects |
| 175 | - if (!Any::isArray($this->{$field_set_name})) |
|
| 176 | - $this->{$field_set_name} = []; |
|
| 180 | + if (!Any::isArray($this->{$field_set_name})) { |
|
| 181 | + $this->{$field_set_name} = []; |
|
| 182 | + } |
|
| 177 | 183 | |
| 178 | 184 | // use dot-data provider to compile output array |
| 179 | 185 | $dotData = new DotData($this->{$field_set_name}); |
@@ -203,14 +209,16 @@ discard block |
||
| 203 | 209 | $sources = $this->sources(); |
| 204 | 210 | $types = $this->types(); |
| 205 | 211 | // validate sources for current field |
| 206 | - if (array_key_exists($propertyName, $sources)) |
|
| 207 | - $inputType = Str::lowerCase($sources[$propertyName]); |
|
| 212 | + if (array_key_exists($propertyName, $sources)) { |
|
| 213 | + $inputType = Str::lowerCase($sources[$propertyName]); |
|
| 214 | + } |
|
| 208 | 215 | |
| 209 | 216 | |
| 210 | 217 | // check if field is array-nested element by dots and use first element as general |
| 211 | 218 | $filterField = $propertyName; |
| 212 | - if (array_key_exists($filterField, $types)) |
|
| 213 | - $filterType = Str::lowerCase($types[$filterField]); |
|
| 219 | + if (array_key_exists($filterField, $types)) { |
|
| 220 | + $filterType = Str::lowerCase($types[$filterField]); |
|
| 221 | + } |
|
| 214 | 222 | |
| 215 | 223 | // get clear field value |
| 216 | 224 | $propertyValue = $this->getRequest($propertyName, $inputType); |
@@ -312,8 +320,9 @@ discard block |
||
| 312 | 320 | */ |
| 313 | 321 | public function getRequest($param, $method = null) |
| 314 | 322 | { |
| 315 | - if ($method === null) |
|
| 316 | - $method = $this->_sendMethod; |
|
| 323 | + if ($method === null) { |
|
| 324 | + $method = $this->_sendMethod; |
|
| 325 | + } |
|
| 317 | 326 | |
| 318 | 327 | $method = Str::lowerCase($method); |
| 319 | 328 | // get root request as array or string |
@@ -337,8 +346,9 @@ discard block |
||
| 337 | 346 | if (Str::contains('.', $param)) { |
| 338 | 347 | $response = $request; |
| 339 | 348 | foreach (explode('.', $param) as $path) { |
| 340 | - if ($response !== null && !array_key_exists($path, $response)) |
|
| 341 | - return null; |
|
| 349 | + if ($response !== null && !array_key_exists($path, $response)) { |
|
| 350 | + return null; |
|
| 351 | + } |
|
| 342 | 352 | // find deep array nesting offset |
| 343 | 353 | $response = $response[$path]; |
| 344 | 354 | } |
@@ -49,7 +49,7 @@ discard block |
||
| 49 | 49 | { |
| 50 | 50 | try { |
| 51 | 51 | $this->message = App::$View->render($tpl, $params, $dir); |
| 52 | - } catch (SyntaxException $e){} |
|
| 52 | + } catch (SyntaxException $e) {} |
|
| 53 | 53 | return $this; |
| 54 | 54 | } |
| 55 | 55 | |
@@ -80,7 +80,7 @@ discard block |
||
| 80 | 80 | } catch (\Exception $e) { |
| 81 | 81 | if (App::$Debug) { |
| 82 | 82 | App::$Debug->addException($e); |
| 83 | - App::$Debug->addMessage('Send mail failed! Info: ' . $e->getMessage(), 'error'); |
|
| 83 | + App::$Debug->addMessage('Send mail failed! Info: '.$e->getMessage(), 'error'); |
|
| 84 | 84 | } |
| 85 | 85 | return false; |
| 86 | 86 | } |
@@ -63,12 +63,14 @@ |
||
| 63 | 63 | public function send(string $address, string $subject, ?string $message = null): bool |
| 64 | 64 | { |
| 65 | 65 | // try to get message from global if not passed direct |
| 66 | - if ($message === null) |
|
| 67 | - $message = $this->message; |
|
| 66 | + if ($message === null) { |
|
| 67 | + $message = $this->message; |
|
| 68 | + } |
|
| 68 | 69 | |
| 69 | 70 | try { |
| 70 | - if ($message === null) |
|
| 71 | - throw new \Exception('Message body is empty!'); |
|
| 71 | + if ($message === null) { |
|
| 72 | + throw new \Exception('Message body is empty!'); |
|
| 73 | + } |
|
| 72 | 74 | |
| 73 | 75 | // try to build message and send it |
| 74 | 76 | $message = (new \Swift_Message($subject)) |