added Sorting class to handle organizing tags and archives organizing for page rendering. added empty Render class for rendering
parent
39809a60ec
commit
c78772e2c0
@ -1,74 +1,74 @@
|
||||
<?php
|
||||
include "../brain/data/Settings.inc.php";
|
||||
|
||||
use function _\find;
|
||||
use ReallySimpleJWT\Token;
|
||||
|
||||
class Auth
|
||||
{
|
||||
public function __construct()
|
||||
{
|
||||
}
|
||||
public function __construct()
|
||||
{
|
||||
}
|
||||
|
||||
public static function sessionStatus()
|
||||
{
|
||||
if (isset($_SESSION["member"])) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
public static function sessionStatus()
|
||||
{
|
||||
if (isset($_SESSION["member"])) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
//return $this->secret;
|
||||
}
|
||||
//return $this->secret;
|
||||
}
|
||||
|
||||
public static function status()
|
||||
{
|
||||
$result = "";
|
||||
if (Session::active()) {
|
||||
$result = true;
|
||||
} else {
|
||||
$result = false;
|
||||
public static function status()
|
||||
{
|
||||
$result = "";
|
||||
if (Session::active()) {
|
||||
$result = true;
|
||||
} else {
|
||||
$result = false;
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
|
||||
public static function login($who)
|
||||
{
|
||||
//grab member list
|
||||
$folks = (new Settings())->getFolks();
|
||||
$found = find($folks, ["handle" => $who["handle"]]);
|
||||
public static function login($who)
|
||||
{
|
||||
//grab member list
|
||||
$folks = (new Settings())->getFolks();
|
||||
$found = find($folks, ["handle" => $who["handle"]]);
|
||||
|
||||
if ($found) {
|
||||
//name is found, verify password
|
||||
if (password_verify($who["password"], $found["password"])) {
|
||||
$member = [
|
||||
"handle" => $found["handle"],
|
||||
"email" => $found["email"],
|
||||
"role" => $found["role"],
|
||||
"avatar" => $found["avi"],
|
||||
];
|
||||
if ($found) {
|
||||
//name is found, verify password
|
||||
if (password_verify($who["password"], $found["password"])) {
|
||||
$member = [
|
||||
"handle" => $found["handle"],
|
||||
"email" => $found["email"],
|
||||
"role" => $found["role"],
|
||||
"avatar" => $found["avi"],
|
||||
];
|
||||
|
||||
$token = Token::create(
|
||||
$found["id"],
|
||||
$found["secret"],
|
||||
time() + 3600,
|
||||
"localhost"
|
||||
); //expires in an hour
|
||||
Session::start();
|
||||
Session::set("member", $member);
|
||||
Session::set("token", $token);
|
||||
$token = Token::create(
|
||||
$found["id"],
|
||||
$found["secret"],
|
||||
time() + 3600,
|
||||
"localhost"
|
||||
); //expires in an hour
|
||||
Session::start();
|
||||
Session::set("member", $member);
|
||||
Session::set("token", $token);
|
||||
|
||||
$result = "good_login";
|
||||
} else {
|
||||
$result = "bad_pass";
|
||||
}
|
||||
} else {
|
||||
//if name is not found
|
||||
$result = "no_name";
|
||||
$result = "good_login";
|
||||
} else {
|
||||
$result = "bad_pass";
|
||||
}
|
||||
} else {
|
||||
//if name is not found
|
||||
$result = "no_name";
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
|
||||
public static function logout()
|
||||
{
|
||||
Session::kill();
|
||||
}
|
||||
public static function logout()
|
||||
{
|
||||
Session::kill();
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,8 @@
|
||||
<?php
|
||||
|
||||
class Render
|
||||
{
|
||||
public function __construct()
|
||||
{
|
||||
}
|
||||
}
|
@ -0,0 +1,83 @@
|
||||
<?php
|
||||
use function _\find;
|
||||
use function _\filter;
|
||||
|
||||
class Sorting
|
||||
{
|
||||
private static $_tags = [];
|
||||
private static $_archive = [];
|
||||
public function __construct()
|
||||
{
|
||||
}
|
||||
|
||||
public static function tags()
|
||||
{
|
||||
$pages = (new Book("../content/pages"))->getContents();
|
||||
|
||||
foreach ($pages as $page) {
|
||||
$temp = [];
|
||||
$temp = explode(",", $page["tags"]);
|
||||
foreach ($temp as $tag) {
|
||||
$label = trim($tag);
|
||||
if (!find(self::$_tags, ["tag_name" => $label])) {
|
||||
array_push(self::$_tags, [
|
||||
"tag_name" => $label,
|
||||
"slug" => StringTools::safeString($label),
|
||||
"count" => 1,
|
||||
]);
|
||||
} else {
|
||||
$item = find(self::$_tags, ["tag_name" => $label]);
|
||||
//echo "TAG: " . $item["tag_name"] . "\n";
|
||||
$count = $item["count"];
|
||||
self::$_tags[$label]["count"] = $count + 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return self::$_tags;
|
||||
}
|
||||
|
||||
public static function archive()
|
||||
{
|
||||
$pages = (new Book("../content/pages"))->getContents();
|
||||
$years = [];
|
||||
$archive = [];
|
||||
foreach ($pages as $page) {
|
||||
$year = date("Y", date($page["rawCreated"]));
|
||||
//echo $page["title"] . " : " . $year . "\n";
|
||||
if (!find($years, ["year" => $year])) {
|
||||
$findPages = filter($pages, ["createdYear" => $year]);
|
||||
//var_dump($findPages);
|
||||
array_push($years, ["year" => $year, "count" => count($findPages)]);
|
||||
}
|
||||
}
|
||||
foreach ($years as $year) {
|
||||
$sorted = [];
|
||||
$filtered = filter($pages, ["createdYear" => $year["year"]]);
|
||||
|
||||
foreach ($filtered as $obj) {
|
||||
$month = date("m", date($obj["rawCreated"]));
|
||||
if (!find($sorted, ["month" => $month])) {
|
||||
$perMonth = filter($pages, [
|
||||
"createdYear" => $year["year"],
|
||||
"createdMonth" => $month,
|
||||
"deleted" => false,
|
||||
"published" => true,
|
||||
"layout" => "page",
|
||||
]);
|
||||
array_push($sorted, [
|
||||
"month" => $month,
|
||||
"full_month" => date("F", date($obj["rawCreated"])),
|
||||
"count" => count($perMonth),
|
||||
"pages" => $perMonth,
|
||||
]);
|
||||
}
|
||||
}
|
||||
array_push(self::$_archive, [
|
||||
"year" => $year["year"],
|
||||
"year_data" => $sorted,
|
||||
]);
|
||||
}
|
||||
return self::$_archive;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue