initial commit

This commit is contained in:
Milos Stojanovic
2019-06-13 18:52:40 +02:00
commit 261607e1d3
160 changed files with 41704 additions and 0 deletions

View File

@@ -0,0 +1,55 @@
<?php
/*
* This file is part of the FileGator package.
*
* (c) Milos Stojanovic <alcalbg@gmail.com>
*
* For the full copyright and license information, please view the LICENSE file
*/
namespace Filegator\Kernel;
use Symfony\Component\HttpFoundation\Request as SymfonyRequest;
class Request extends SymfonyRequest
{
public function input($key, $default = null)
{
// first try GET, then POST
$value = $this->get($key, $this->query->get($key));
// then look into JSON content, fallback to default
if ($value === null) {
$content = json_decode($this->getContent());
$value = isset($content->{$key}) ? $content->{$key} : $default;
}
return $value;
}
public function all()
{
$params = [];
// first look into JSON content
$content = json_decode($this->getContent());
if (! empty($content)) {
foreach ($content as $key => $param) {
$params[$key] = $param;
}
}
// then try (and override) with POST
foreach ($this->request as $key => $param) {
$params[$key] = $param;
}
// finally try (and override) with GET
foreach ($this->query as $key => $param) {
$params[$key] = $param;
}
return $params;
}
}

View File

@@ -0,0 +1,51 @@
<?php
/*
* This file is part of the FileGator package.
*
* (c) Milos Stojanovic <alcalbg@gmail.com>
*
* For the full copyright and license information, please view the LICENSE file
*/
namespace Filegator\Kernel;
use Symfony\Component\HttpFoundation\Response as SymfonyResponse;
class Response extends SymfonyResponse
{
public function json($content, $status_code = 200)
{
$this->headers->set('Content-Type', 'application/json');
$this->setStatusCode($status_code);
$this->setContent(json_encode([
'data' => $content,
]));
}
public function html($content, $status_code = 200)
{
$this->setStatusCode($status_code);
$this->setContent($content);
}
public function redirect($url, $status_code = 302)
{
$this->setStatusCode($status_code);
$this->setContent(
sprintf('<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<meta http-equiv="refresh" content="0;url=%1$s" />
<title>Redirecting to %1$s</title>
</head>
<body>
Redirecting to <a href="%1$s">%1$s</a>.
</body>
</html>', htmlspecialchars($url, ENT_QUOTES, 'UTF-8'))
);
$this->headers->set('Location', $url);
}
}

View File

@@ -0,0 +1,17 @@
<?php
/*
* This file is part of the FileGator package.
*
* (c) Milos Stojanovic <alcalbg@gmail.com>
*
* For the full copyright and license information, please view the LICENSE file
*/
namespace Filegator\Kernel;
use Symfony\Component\HttpFoundation\StreamedResponse as SymfonyStreamedResponse;
class StreamedResponse extends SymfonyStreamedResponse
{
}