This commit is contained in:
Marcel Pociot
2020-04-27 10:05:42 +02:00
parent 28c4009dff
commit 054e5b6a86
20 changed files with 737 additions and 461 deletions

View File

@@ -26,8 +26,14 @@ class ListSitesController extends PostController
public function handle(Request $request, ConnectionInterface $httpConnection)
{
try {
$sites = $this->getView('server.sites.index', ['sites' => $this->connectionManager->getConnections()]);
} catch (\Exception $e) {
dump($e->getMessage());
}
$httpConnection->send(
respond_html($this->getView('server.sites.index', ['sites' => $this->connectionManager->getConnections()]))
respond_html($sites)
);
}
}

View File

@@ -0,0 +1,25 @@
<?php
namespace App\Server\Http\Controllers\Admin;
use App\Contracts\ConnectionManager;
use App\HttpServer\Controllers\PostController;
use Clue\React\SQLite\DatabaseInterface;
use Clue\React\SQLite\Result;
use GuzzleHttp\Psr7\Response;
use Illuminate\Http\Request;
use Ratchet\ConnectionInterface;
use Twig\Environment;
use Twig\Loader\ArrayLoader;
use function GuzzleHttp\Psr7\str;
use function GuzzleHttp\Psr7\stream_for;
class LoginController extends PostController
{
public function handle(Request $request, ConnectionInterface $httpConnection)
{
$httpConnection->send(
respond_html($this->getView('server.login'))
);
}
}

View File

@@ -0,0 +1,51 @@
<?php
namespace App\Server\Http\Controllers\Admin;
use App\Contracts\ConnectionManager;
use App\HttpServer\Controllers\PostController;
use Clue\React\SQLite\DatabaseInterface;
use Clue\React\SQLite\Result;
use GuzzleHttp\Psr7\Response;
use Illuminate\Http\Request;
use Ratchet\ConnectionInterface;
use Twig\Environment;
use Twig\Loader\ArrayLoader;
use function GuzzleHttp\Psr7\str;
use function GuzzleHttp\Psr7\stream_for;
class VerifyLoginController extends PostController
{
protected $keepConnectionOpen = true;
/** @var DatabaseInterface */
protected $database;
public function __construct(DatabaseInterface $database)
{
$this->database = $database;
}
public function handle(Request $request, ConnectionInterface $httpConnection)
{
$this->database->query("SELECT * FROM users WHERE email = :email", ['email' => $request->email])
->then(function (Result $result) use ($httpConnection) {
if (!is_null($result->rows)) {
$httpConnection->send(
str(new Response(
301,
['Location' => '/users']
))
);
} else {
$httpConnection->send(
str(new Response(
301,
['Location' => '/users']
))
);
}
$httpConnection->close();
});
}
}