fipamo/brain/api/v1/SettingsAPI.inc.php

108 lines
2.6 KiB
PHP
Raw Normal View History

<?php
use Slim\Views\Twig;
class SettingsAPI
{
public function __construct()
{
}
public static function handleSettingsTask($request, $args, $body = null)
{
$task = $args["fourth"];
switch ($task) {
case "publish":
2021-04-22 03:41:32 +02:00
$render = new Render();
$render->renderTags();
$render->renderArchive();
2021-04-23 01:04:43 +02:00
$render->renderPages();
$result = [
2021-04-23 01:04:43 +02:00
"message" => "Site Rendered. GOOD EFFORT",
"type" => "TASK_NONE",
];
break;
case "add-avatar":
$result = ImagesAPI::uploadImage($request, "avatar");
break;
case "add-feature-background":
$result = ImagesAPI::uploadImage($request, "background");
break;
case "sync":
Settings::sync($body);
$result = [
"message" => "Settings Synced. You're doing great!",
"type" => "settingsUpdated",
];
break;
case "nav-sync":
Settings::navSync($body);
$result = [
"message" => "Navigation updated. Very slick!",
"type" => "menuUpdated",
];
break;
default:
$result = [
"message" => "Hm, no task. That's unfortunate",
"type" => "TASK_NONE",
];
break;
}
return $result;
}
public static function getInfo($request, $args)
{
$task = $args["fourth"];
switch ($task) {
case "site":
$config = new Settings();
$settings = $config->getSettings();
$data = [
"title" => $settings["global"]["title"],
"base_url" => $settings["global"]["base_url"],
"description" => $settings["global"]["descriptions"],
];
$result = [
"message" => "Settings Found",
"type" => "GET_SETTINGS",
"data" => $data,
];
break;
case "member":
if (Session::active()) {
$member = $member = Session::get("member");
$data = ["handle" => $member["handle"], "email" => $member["email"]];
$result = [
"message" => "Member Info Found",
"type" => "GET_MEMBER_INFO",
"data" => $data,
];
} else {
$result = [
"message" => "Not logged in. C'mon, bruh",
"type" => "TASK_NONE",
];
}
break;
default:
$result = [
"message" => "No Settings found. Frowny Face",
"type" => "TASK_NONE",
];
break;
}
return $result;
}
public static function createBackup()
{
$result = Maintenance::makeBackup();
return $result;
}
}