forked from projects/fipamo
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 ![docs](https://code.playvicio.us/Are0h/Fipamo/wiki/02-Usage)\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()
|
||
|
{
|
||
|
}
|
||
|
}
|