98 lines
2.9 KiB
PHP
98 lines
2.9 KiB
PHP
|
<?php
|
||
|
|
||
|
class SetUp
|
||
|
{
|
||
|
public static function status()
|
||
|
{
|
||
|
if (file_exists("../config/settings.json")) {
|
||
|
return true;
|
||
|
} else {
|
||
|
return false;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public static function init($body)
|
||
|
{
|
||
|
//grab template files
|
||
|
$newFolks = json_decode(
|
||
|
file_get_contents("../config/init/folks-template.json"),
|
||
|
true
|
||
|
);
|
||
|
$newSettings = json_decode(
|
||
|
file_get_contents("../config/init/settings-template.json"),
|
||
|
true
|
||
|
);
|
||
|
//get form values
|
||
|
//$body = $request->getParsedBody();
|
||
|
$handle = $body["new_member_handle"];
|
||
|
$email = $body["new_member_email"];
|
||
|
$pass = $body["new_member_pass"];
|
||
|
$title = $body["new_member_title"];
|
||
|
|
||
|
$now = new \Moment\Moment();
|
||
|
//setup folks config
|
||
|
$hash = password_hash($pass, PASSWORD_DEFAULT);
|
||
|
$newFolks[0]["id"] = 0;
|
||
|
$newFolks[0]["handle"] = $handle;
|
||
|
$newFolks[0]["email"] = $email;
|
||
|
$newFolks[0]["password"] = $hash;
|
||
|
$newFolks[0]["key"] = password_hash($email, PASSWORD_DEFAULT);
|
||
|
$newFolks[0]["secret"] = StringTools::randomString(12);
|
||
|
$newFolks[0]["role"] = "hnic";
|
||
|
$newFolks[0]["created"] = $now->format("Y-m-d\TH:i:sP");
|
||
|
$newFolks[0]["updated"] = $now->format("Y-m-d\TH:i:sP");
|
||
|
//set up settings config
|
||
|
$newSettings["global"]["title"] = $title;
|
||
|
|
||
|
//create index file
|
||
|
//$rightNow = $now->format("Y-m-d\TH:i:sP");
|
||
|
//var_dump($now->format("Y-m-d\TH:i:sP"));
|
||
|
$index = [
|
||
|
"id" => 1,
|
||
|
"uuid" => StringTools::createUUID(),
|
||
|
"title" => "FIRST!",
|
||
|
"feature" => "/assets/images/global/default-bg.jpg",
|
||
|
"path" => "content/pages/start",
|
||
|
"layout" => "index",
|
||
|
"tags" => "start, welcome",
|
||
|
"author" => $handle,
|
||
|
"created" => $now->format("Y-m-d\TH:i:sP"),
|
||
|
"updated" => $now->format("Y-m-d\TH:i:sP"),
|
||
|
"deleted" => "false",
|
||
|
"slug" => "first",
|
||
|
"menu" => "false",
|
||
|
"featured" => "false",
|
||
|
"published" => "true",
|
||
|
"content" =>
|
||
|
"# F**k Yes \n\nIf you're seeing this, you're up and running. NICE WORK!\n\nFrom here, feel free to start dropping pages to your heart's content.\n\nFor some tips about using Fipamo, check out the \n\nAll good? Feel free to edit this page to whatever you want!\n\nYOU'RE THE CAPTAIN NOW.",
|
||
|
];
|
||
|
|
||
|
$freshIndex = DocTools::objectToMD($index);
|
||
|
|
||
|
//once all files created, write down
|
||
|
|
||
|
DocTools::writeSettings("../config/settings.json", $newSettings);
|
||
|
DocTools::writeSettings("../config/folks.json", $newFolks);
|
||
|
DocTools::writeSettings("../config/tags.json", []);
|
||
|
DocTools::writePages(
|
||
|
"create",
|
||
|
"start",
|
||
|
"../content/pages/start/index.md",
|
||
|
$freshIndex
|
||
|
);
|
||
|
|
||
|
//if there is an older session file, get rid of it
|
||
|
if (is_file("../content/.session")) {
|
||
|
unlink("../content/.session");
|
||
|
}
|
||
|
|
||
|
$result = ["type" => "blogInitGood", "message" => "Site Created"];
|
||
|
|
||
|
return $result;
|
||
|
}
|
||
|
|
||
|
public static function restore()
|
||
|
{
|
||
|
}
|
||
|
}
|