<?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": $view = Twig::fromRequest($request); $template = "dash/start.twig"; $pageOptions = [ "title" => "Welcome to Fucking Fipamo", "status" => false, ]; $html = $view->fetch($template, $pageOptions); $location = "../content/test.html"; if (!is_file($location)) { file_put_contents($location, $html); } else { ($new = fopen($location, "w")) or die("Unable to open file!"); fwrite($new, $html); fclose($new); } $result = [ "message" => "Site published. 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; } }