Example #1
0
 public static function login(Request $request)
 {
     if (Session::isLoggedIn()) {
         return new RedirectResponse($request->getReferer() ?: Router::link('admin.index'));
     }
     if ($request->isMethod('post')) {
         $error = Session::login($request->getData());
         if (!$error) {
             return new RedirectResponse($request->getReferer() ?: Router::link('admin.index'));
         }
     } else {
         $error = '';
     }
     return new TemplateResponse('admin/login', ['error' => $error]);
 }
Example #2
0
 public function render(Request $request)
 {
     if (!in_array($request->getMethod(), $this->requirements['methods'])) {
         return false;
     }
     $path = $request->getUri()->getPath();
     $path = '/' . trim($path, '/');
     if (preg_match($this->pattern, $path, $urlParameters) !== 1) {
         return false;
     }
     $realParameters = self::getParameters($this->getHandlerParameters(), array_filter($urlParameters), $request);
     EventHandler::trigger(EventHandler::ON_ROUTE_MATCH, $this, $realParameters, $request);
     if ($this->requirements['https'] && !$request->isSecure()) {
         return false;
     }
     $response = ($this->handler)(...array_values($realParameters));
     self::handleResponse($response);
     return true;
 }
 public static function put(Request $request)
 {
     return new JsonResponse($request->getData());
 }
Example #4
0
 public static function getRequest() : Request
 {
     static $request = null;
     if ($request === null) {
         $data = [];
         if (isset($GLOBALS['argc']) && $GLOBALS['argc'] > 0) {
             $argv = $GLOBALS['argv'];
             $i = 1;
             $method = $argv[$i];
             if ($argv[$i + 1] === '-s') {
                 $secure = true;
                 $i++;
             } else {
                 $secure = false;
             }
             $route = $argv[$i + 1];
             if (isset($argv[$i + 2])) {
                 parse_str($argv[$i + 2], $data);
             }
             $url = 'http' . ($secure ? 's' : '') . '://';
             $url .= Config::getString('host', 'domain.tld');
             $url .= '/' . trim($route, '/');
             $request = new Request($method, new Uri($url), $data, [], '');
         } else {
             $request = Request::createFromGlobals();
         }
     }
     return $request;
 }