set up views structure, started Auth class for session management

This commit is contained in:
Ro 2021-03-25 14:05:32 -07:00
parent 31d5e1192c
commit cf752fd8c0
9 changed files with 170 additions and 87 deletions

View file

@ -2,11 +2,20 @@
class Auth class Auth
{ {
private $configs; private $configs;
public function getSettings() public function __construct()
{ {
//return $this->secret; session_start();
} }
} public function sessionStatus()
{
if (isset($_SESSION["member"])) {
return true;
} else {
return false;
}
//return $this->secret;
}
}

View file

@ -2,14 +2,18 @@
class Settings class Settings
{ {
private $folks; private $folks;
private $tags; private $tags;
private $settings; private $settings;
public function getFolks() public function __construct()
{ {
return $this->folks = json_decode(file_get_contents('config/folks.json'), true); //gets all settings files and converts to php objects
//return $this->secret; $this->folks = json_decode(file_get_contents("config/folks.json"), true);
} $this->tags = json_decode(file_get_contents("config/tags.json"), true);
$this->settings = json_decode(
} file_get_contents("config/settings.json"),
true
);
}
}

View file

@ -0,0 +1,11 @@
<div id="dash-login">
<div id="dash-form" class="dash-form">
<form id="login" class='login' , name="login" action="/@/dashboard/login" method="POST">
<input type="text" name="handle" class="form-control" placeholder="Handle" required ">
<input type="password" name="password" class="form-control" placeholder="Password" required">
<button id="login-btn" , class='login-btn' , type='submit'>
Let's see some ID
</button>
</form>
</div>
</div>

View file

@ -0,0 +1,64 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>
{% block title %}
{{ title }}
{% endblock %}
</title>
{% block stylesheets %}{% endblock %}
</head>
<body>
<div id="notifications" class="notifications">
<div id="notifyMessage" class="notifyMessage">
<div id="notify-good" class="notify-icon">
<svg class="menu-icon"><use xlink:href="/assets/images/global/sprite.svg#entypo-emoji-flirt"/></svg>
</div>
<div id="notify-lame" class="notify-icon">
<svg class="menu-icon"><use xlink:href="/assets/images/global/sprite.svg#entypo-emoji-sad"/></svg>
</div>
<div id="notify-working" class="notify-icon">
<svg class="menu-icon"><use xlink:href="/assets/images/global/sprite.svg#entypo-cog"/></svg>
</div>
</div>
</div>
<div id="main-content" class="main-container">
<section id="dash-index-content">
<header id="header">
<div id="wrapper">
<div id="left">
<a href="/dashboard"><img id="the-logo" src="/public/assets/images/global/the-logo.svg"/></a>
</div>
<div id="right"></div>
</div>
</header>
{% block mainContent %}{% endblock %}
</section>
</div>
<footer>
{% if options['showFooter'] is defined %}
<!-- NO FOOTER -->
{% else %}
<div class="inner">
<div class="columns">
<div id="footer_left" class="column">
<a href="#">About</a><br/>
</div>
<div id="footer_right " class="column">
<a href="#">FAQ</a><br/>
</div>
</div>
</div>
{% endif %}
</footer>
{% block javascripts %}{% endblock %}
</body>
</html>

View file

@ -0,0 +1,25 @@
{% extends "dash/frame.twig" %}
{% block title %}
{{ title }}
{% endblock %}
{% block stylesheets %}
<link rel="stylesheet" type="text/css" href="/public/assets/css/dash.css">
{% endblock %}
{% block mainContent %}
<div id="dash-index">
<div id="dash-index-wrapper">
{% if status %}
DASH INDEX
{% else %}
{{ include("dash/forms/login.twig") }}
{% endif %}
</div>
</div>
{% endblock %}
{% block javascripts %}
<script src="/public/assets/scripts/dash.min.js" type="text/javascript"></script>
{% endblock %}

View file

@ -1,25 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{ title }}</title>
</head>
<body>
There are
{{ totalPages }}
pages total, hoss.
<br/>
{% for page in pages %}
{# <a href="/blog/{{ page.slug }}">{{ page.title }}</a><br/><br/>
#}
{{ page["title"] }}
{{ page['filePath'] }}
<br/>
{% endfor %}
</body>
</html>

View file

@ -1,12 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{ title }}</title>
</head>
<body></body>
</html>

View file

View file

@ -1,4 +1,6 @@
<?php <?php
require __DIR__ . "/vendor/autoload.php";
use Psr\Http\Message\ResponseInterface as Response; use Psr\Http\Message\ResponseInterface as Response;
use Psr\Http\Message\ServerRequestInterface as Request; use Psr\Http\Message\ServerRequestInterface as Request;
use Slim\Factory\AppFactory; use Slim\Factory\AppFactory;
@ -7,10 +9,10 @@ use Slim\Views\TwigMiddleware;
include "brain/controller/IndexControl.inc.php"; include "brain/controller/IndexControl.inc.php";
include "brain/controller/DashControl.inc.php"; include "brain/controller/DashControl.inc.php";
include "brain/data/Auth.inc.php";
require __DIR__ . "/vendor/autoload.php";
$app = AppFactory::create(); $app = AppFactory::create();
$twig = Twig::create("brain/views/default/"); $twig = Twig::create("brain/views/");
$app->add(TwigMiddleware::create($app, $twig)); $app->add(TwigMiddleware::create($app, $twig));
//Index //Index
@ -26,24 +28,29 @@ $app->get("/[{first}[/{second}]]", function (
$response->getBody()->write("FIND A PAGE, B!"); $response->getBody()->write("FIND A PAGE, B!");
} else { } else {
//$response->getBody()->write("This is the dash, brah!"); //$response->getBody()->write("This is the dash, brah!");
if (isset($args["second"])) {
$section = $args["second"]; if ($first == "dashboard") {
if (isset($args["second"])) {
$section = $args["second"];
} else {
$section = "index";
}
$dash = new DashControl();
$pages = $dash->getPages($section);
$count = count($pages);
//$response->getBody()->write("There are " . $count . " pages, champ");
$auth = new Auth();
return $view->render($response, "dash/start.twig", [
"title" => "Fipamo Dash",
"status" => $auth->sessionStatus(),
"pages" => $pages,
"totalPages" => $count,
]);
} else { } else {
$section = "front";
} }
$dash = new DashControl();
$pages = $dash->getPages($section);
$count = count($pages);
//$response->getBody()->write("There are ".$count." pages, champ");
return $view->render($response, "dash-index.twig", [
"title" => "Fipamo Dash",
"pages" => $pages,
"totalPages" => $count,
]);
} }
} else { } else {
$response->getBody()->write("No Params, Homie!"); $response->getBody()->write("No Params, Homie!");
@ -59,19 +66,19 @@ $app->get("/[{first}[/{second}]]", function (
//Dashboard Index //Dashboard Index
/** /**
$app->get('/@/dashboard', function (Request $request, Response $response) { $app->get('/@/dashboard', function (Request $request, Response $response) {
$index = new IndexControl(); $index = new IndexControl();
$settings = new Settings(); $settings = new Settings();
$folks = $settings->getFolks(); $folks = $settings->getFolks();
$secret = $index->getSecret(); $secret = $index->getSecret();
$view = Twig::fromRequest($request); $view = Twig::fromRequest($request);
return $view->render($response, 'index.twig', [ return $view->render($response, 'index.twig', [
'title' => 'This is Fipamo', 'title' => 'This is Fipamo',
'name' => 'Ro', 'name' => 'Ro',
'occupation'=>'pretty cool... I guess', 'occupation'=>'pretty cool... I guess',
'folks' => $folks[0]['handle'], 'folks' => $folks[0]['handle'],
'secret' => $secret 'secret' => $secret
]); ]);
}); });
**/ **/
$app->run(); $app->run();