/** * Add all middleware * @param Slim $application */ public static function middleware(Slim $application) { if (sizeof(Config::get('app.middleware'))) { foreach (Config::get('app.middleware') as $middleware) { $middleware = explode('@', $middleware); $classMiddleware = $middleware[0]; $add = isset($middleware[1]) ? new $classMiddleware(Config::get($middleware[1])) : new $classMiddleware(); $application->add($add); } } }
/** * Check if backend or front end * @return bool */ public function isBackEnd() { $route = $this->app()->request()->getPath() . '/'; if (preg_match('/\\/' . Config::get('app.managerSlugPAth') . '\\//', $route)) { return true; } return false; }
/** * Check if data as posted and validate * fields with rules specified in rules.yml * @param string $rule * @param array $unset * @return array */ public function posts($rule = '', array $unset = []) { if (\Request::isPost()) { $results = ['valid' => false]; /** * get all posts */ $posts = \Request::post(); /** * unset unused fields if * needed */ if (sizeof($unset)) { foreach ($unset as $fields) { unset($posts[$fields]); } } /** * get rules */ $rules = $rule ? Config::get('rules.' . $rule) : []; /** * use GUMP library to validate * and sanitize fields */ $validator = new \GUMP(); $posts = $validator->sanitize($posts); $validator->validation_rules($rules); $validated = $validator->run($posts); /** * check validations result */ if (!$validated) { $results['error'] = $validator->errors(); $results['data'] = $posts; } else { $results['valid'] = true; $results['data'] = $posts; } return $results; } return []; }