Replaced Moment with Carbon #84
4 changed files with 46 additions and 39 deletions
16
.env.example
16
.env.example
|
@ -61,8 +61,14 @@ VITE_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"
|
||||||
#------------------
|
#------------------
|
||||||
# FIPAMO SETTINGS
|
# FIPAMO SETTINGS
|
||||||
#------------------
|
#------------------
|
||||||
PAGES_PATH="path/to/pages"
|
FIPAMO_DIR="../content"
|
||||||
THEMES_PATH="path/to/themes"
|
PAGES_PATH="${FIPAMO_DIR}/pages"
|
||||||
SETTINGS_PATH="path/to/settings.json"
|
THEMES_PATH="${FIPAMO_DIR}/themes"
|
||||||
FOLKS_PATH="path/to/folks.json"
|
FIPAMO_CONFIG="${FIPAMO_DIR}/config"
|
||||||
TAGS_PATH="path/to/tag.json"
|
SETTINGS_PATH="${FIPAMO_CONFIG}/settings.json"
|
||||||
|
FOLKS_PATH="${FIPAMO_CONFIG}/folks.json"
|
||||||
|
TAGS_PATH="${FIPAMO_CONFIG}/tags.json"
|
||||||
|
FIPAMO_INIT="${FIPAMO_DIR}/init"
|
||||||
|
FIPAMO_BACKUPS="${FIPAMO_DIR}/backups"
|
||||||
|
# MAIL
|
||||||
|
ADMIN_EMAIL = "you@admin.email"
|
||||||
|
|
|
@ -21,7 +21,7 @@ class MemberRepository implements MemberRepositoryInterface
|
||||||
if (file_exists(env('FOLKS_PATH'))) {
|
if (file_exists(env('FOLKS_PATH'))) {
|
||||||
$this->folks = json_decode(file_get_contents(env('FOLKS_PATH')), true);
|
$this->folks = json_decode(file_get_contents(env('FOLKS_PATH')), true);
|
||||||
} else {
|
} else {
|
||||||
$this->folks = json_decode(file_get_contents('../content/init/folks-template.json'), true);
|
$this->folks = json_decode(file_get_contents(env('FIPAMO_INIT') . '/folks-template.json'), true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -52,11 +52,11 @@ class InitService
|
||||||
//grab template files
|
//grab template files
|
||||||
//TODO: Remove hardcoded link and set up init path in settings
|
//TODO: Remove hardcoded link and set up init path in settings
|
||||||
$newFolks = json_decode(
|
$newFolks = json_decode(
|
||||||
file_get_contents('../content/init/folks-template.json'),
|
file_get_contents(env('FIPAMO_INIT') . '/folks-template.json'),
|
||||||
true
|
true
|
||||||
);
|
);
|
||||||
$newSettings = json_decode(
|
$newSettings = json_decode(
|
||||||
file_get_contents('../content/init/settings-template.json'),
|
file_get_contents(env('FIPAMO_INIT') . '/settings-template.json'),
|
||||||
true
|
true
|
||||||
);
|
);
|
||||||
//get form values
|
//get form values
|
||||||
|
@ -82,6 +82,7 @@ class InitService
|
||||||
$newSettings['global']['title'] = $title;
|
$newSettings['global']['title'] = $title;
|
||||||
|
|
||||||
//create index file
|
//create index file
|
||||||
|
//TODO: upate path attribute to use env variable
|
||||||
$index = [
|
$index = [
|
||||||
'id' => 1,
|
'id' => 1,
|
||||||
'uuid' => createUUID(),
|
'uuid' => createUUID(),
|
||||||
|
@ -103,16 +104,16 @@ class InitService
|
||||||
];
|
];
|
||||||
|
|
||||||
//once all files created, write down
|
//once all files created, write down
|
||||||
mkdir('../content/config', 0755, true);
|
mkdir(env('FIPAMO_CONFIG'), 0755, true);
|
||||||
$this->docs->writeSettings($newSettings, '../content/config/settings.json');
|
$this->docs->writeSettings($newSettings, env('FIPAMO_CONFIG') . '/settings.json');
|
||||||
$this->docs->writeSettings($newFolks, '../content/config/folks.json');
|
$this->docs->writeSettings($newFolks, env('FIPAMO_CONFIG') . '/folks.json');
|
||||||
$this->docs->writeSettings([], '../content/config/tags.json');
|
$this->docs->writeSettings([], env('FIPAMO_CONFIG') . '/tags.json');
|
||||||
$object = (object) $index;
|
$object = (object) $index;
|
||||||
|
|
||||||
$this->docs->writePages(
|
$this->docs->writePages(
|
||||||
'create',
|
'create',
|
||||||
'start',
|
'start',
|
||||||
'../content/pages/start/index.md',
|
env('PAGES_PATH') . '/start/index.md',
|
||||||
$this->docs::objectToMD($object)
|
$this->docs::objectToMD($object)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -124,11 +125,11 @@ class InitService
|
||||||
public function restore($request)
|
public function restore($request)
|
||||||
{
|
{
|
||||||
$file = $request->file('backup-upload');
|
$file = $request->file('backup-upload');
|
||||||
$file->move('../content' . '/', $file->getClientOriginalName());
|
$file->move(env('FIPAMO_DIR') . '/', $file->getClientOriginalName());
|
||||||
$zip = new \ZipArchive();
|
$zip = new \ZipArchive();
|
||||||
$result = [];
|
$result = [];
|
||||||
$tempDir = '../content/_temp';
|
$tempDir = env('FIPAMO_DIR') . '/_temp';
|
||||||
if ($zip->open('../content' . '/' . $file->getClientOriginalName()) === true) {
|
if ($zip->open(env('FIPAMO_DIR') . '/' . $file->getClientOriginalName()) === true) {
|
||||||
$folks = json_decode($zip->getFromName('config/folks.json'), true);
|
$folks = json_decode($zip->getFromName('config/folks.json'), true);
|
||||||
$found = find($folks, ['handle' => $request->restore_member_handle]);
|
$found = find($folks, ['handle' => $request->restore_member_handle]);
|
||||||
if ($found) {
|
if ($found) {
|
||||||
|
@ -153,18 +154,18 @@ class InitService
|
||||||
$newConfig['global']['externalAPI'] = 'false';
|
$newConfig['global']['externalAPI'] = 'false';
|
||||||
}
|
}
|
||||||
//make dir and write new config files
|
//make dir and write new config files
|
||||||
if (!is_dir('../content/config/')) {
|
if (!is_dir(env('FIPAMO_CONFIG'))) {
|
||||||
mkdir('../content/config/', 0755, true);
|
mkdir(env('FIPAMO_CONFIG'), 0755, true);
|
||||||
}
|
}
|
||||||
$this->docs->writeSettings($newConfig, '../content/config/settings.json');
|
$this->docs->writeSettings($newConfig, env('FIPAMO_CONFIG') . '/settings.json');
|
||||||
$this->docs->writeSettings($newFolks, '../content/config/folks.json');
|
$this->docs->writeSettings($newFolks, env('FIPAMO_CONFIG') . '/folks.json');
|
||||||
rename($tempDir . '/config/tags.json', '../content/config/tags.json');
|
rename($tempDir . '/config/tags.json', env('FIPAMO_CONFIG') . '/tags.json');
|
||||||
//move saved markdown pages
|
//move saved markdown pages
|
||||||
rename($tempDir . '/content/pages/', '../content/pages');
|
rename($tempDir . '/content/pages/', env('PAGES_PATH'));
|
||||||
//clean up temp dir and zip file
|
//clean up temp dir and zip file
|
||||||
$this->docs::deleteFolder($tempDir);
|
$this->docs::deleteFolder($tempDir);
|
||||||
$zip->close();
|
$zip->close();
|
||||||
unlink('../content/' . $file->getClientOriginalName());
|
unlink(env('FIPAMO_DIR') . $file->getClientOriginalName());
|
||||||
$result = [
|
$result = [
|
||||||
'type' => 'requestGood',
|
'type' => 'requestGood',
|
||||||
'message' => 'Site Restored! Redirecting',
|
'message' => 'Site Restored! Redirecting',
|
||||||
|
|
|
@ -18,18 +18,18 @@ class MaintenanceService
|
||||||
{
|
{
|
||||||
//make sure back directory is there
|
//make sure back directory is there
|
||||||
$stamp = Carbon::now()->format("YmdGis");
|
$stamp = Carbon::now()->format("YmdGis");
|
||||||
if (!is_dir('../content/backups')) {
|
if (!is_dir(env('FIPAMO_BACKUPS'))) {
|
||||||
mkdir('../content/backups', 0755, true);
|
mkdir(env('FIPAMO_BACKUPS'), 0755, true);
|
||||||
}
|
}
|
||||||
//creat backup zip
|
//creat backup zip
|
||||||
$zip = new \ZipArchive();
|
$zip = new \ZipArchive();
|
||||||
|
|
||||||
$zip->open(
|
$zip->open(
|
||||||
'../content/backups/backup-' . $stamp . '.zip',
|
env('FIPAMO_BACKUPS') . '/backup-' . $stamp . '.zip',
|
||||||
\ZipArchive::CREATE | \ZipArchive::OVERWRITE
|
\ZipArchive::CREATE | \ZipArchive::OVERWRITE
|
||||||
);
|
);
|
||||||
//gather data and path info for md pages
|
//gather data and path info for md pages
|
||||||
$pagePath = '../content/pages';
|
$pagePath = env('PAGES_PATH');
|
||||||
$yearPaths = glob($pagePath . '/*', GLOB_ONLYDIR);
|
$yearPaths = glob($pagePath . '/*', GLOB_ONLYDIR);
|
||||||
foreach ($yearPaths as $years) {
|
foreach ($yearPaths as $years) {
|
||||||
$year = explode('/', $years);
|
$year = explode('/', $years);
|
||||||
|
@ -94,22 +94,22 @@ class MaintenanceService
|
||||||
$zip->addFile(env('FOLKS_PATH'), 'config/folks.json');
|
$zip->addFile(env('FOLKS_PATH'), 'config/folks.json');
|
||||||
$zip->addFile(env('TAGS_PATH'), 'config/tags.json');
|
$zip->addFile(env('TAGS_PATH'), 'config/tags.json');
|
||||||
// create temp files for image lists
|
// create temp files for image lists
|
||||||
file_put_contents('../content/backups/blog_images_temp.json', json_encode($blogImages));
|
file_put_contents(env('FIPAMO_BACKUPS') . '/blog_images_temp.json', json_encode($blogImages));
|
||||||
file_put_contents('../content/backups/user_images_temp.json', json_encode($userImages));
|
file_put_contents(env('FIPAMO_BACKUPS') . '/user_images_temp.json', json_encode($userImages));
|
||||||
file_put_contents('../content/backups/blog_docs_temp.json', json_encode($blogDocs));
|
file_put_contents(env('FIPAMO_BACKUPS') . '/blog_docs_temp.json', json_encode($blogDocs));
|
||||||
file_put_contents('../content/backups/blog_vids_temp.json', json_encode($blogVids));
|
file_put_contents(env('FIPAMO_BACKUPS') . '/blog_vids_temp.json', json_encode($blogVids));
|
||||||
//add to zip
|
//add to zip
|
||||||
$zip->addFile('../content/backups/blog_images_temp.json', 'assets/blog_images.json');
|
$zip->addFile(env('FIPAMO_BACKUPS') . '/blog_images_temp.json', 'assets/blog_images.json');
|
||||||
$zip->addFile('../content/backups/user_images_temp.json', 'assets/user_images.json');
|
$zip->addFile(env('FIPAMO_BACKUPS') . '/user_images_temp.json', 'assets/user_images.json');
|
||||||
$zip->addFile('../content/backups/blog_docs_temp.json', 'assets/blog_docs.json');
|
$zip->addFile(env('FIPAMO_BACKUPS') . '/blog_docs_temp.json', 'assets/blog_docs.json');
|
||||||
$zip->addFile('../content/backups/blog_vids_temp.json', 'assets/blog_videos.json');
|
$zip->addFile(env('FIPAMO_BACKUPS') . '/blog_vids_temp.json', 'assets/blog_videos.json');
|
||||||
//save zip file
|
//save zip file
|
||||||
$zip->close();
|
$zip->close();
|
||||||
//clean up temp files
|
//clean up temp files
|
||||||
unlink('../content/backups/blog_images_temp.json');
|
unlink(env('FIPAMO_BACKUPS') . '/blog_images_temp.json');
|
||||||
unlink('../content/backups/user_images_temp.json');
|
unlink(env('FIPAMO_BACKUPS') . '/user_images_temp.json');
|
||||||
unlink('../content/backups/blog_docs_temp.json');
|
unlink(env('FIPAMO_BACKUPS') . '/blog_docs_temp.json');
|
||||||
unlink('../content/backups/blog_vids_temp.json');
|
unlink(env('FIPAMO_BACKUPS') . '/blog_vids_temp.json');
|
||||||
|
|
||||||
//update settings file with latest back up date
|
//update settings file with latest back up date
|
||||||
$this->settings->updateGlobalData('last_backup', $stamp);
|
$this->settings->updateGlobalData('last_backup', $stamp);
|
||||||
|
|
Loading…
Add table
Reference in a new issue