This repository has been archived on 2022-07-28. You can view files and clone it, but cannot push or open issues or pull requests.
md-cms/edit/editHTMLPage.php

109 lines
2.6 KiB
PHP
Raw Permalink Normal View History

<?PHP
/**
2018-06-19 18:02:04 +02:00
* This page offers the opportunity to edit static page elements:
* - the side bar,
* - the footer,
* - the banner,
* - the welcome message for the backend.
*
* @author Joshua Ramon Enslin <joshua@jrenslin.de>
*/
/*
* Require files and ensure environment.
*/
require_once __DIR__ . "/inc/functions.php";
ensureEnvironment(); // Ensure existence of system files.
$translations = loadLanguage($settings['defaultLang']); // Load translations.
ensureBackendEnv(); // Ensure session is started etc.
$pages = loadPages(); // Load overview of pages.
/*
* Load contents
*/
// Check for vars.
loadHttpToGlobals(["id", "task", "content"]);
define("targetFile", __DIR__ . "/../data/$id.htm");
if (!isset($id) or !in_array($id, ['footer', 'aside', 'banner', 'welcomeMsg'])) {
echo printErrorPage($settings, $translations['specifyToEdit']); return;
}
if ($id == 'welcomeMsg' and !$_SESSION['admin']) {
echo printErrorPage($settings, $translations['accessDenied']); return;
}
// Read file contents if there is no new content sent by $_POST.
if (!isset($content)) {
if (file_exists(targetFile)) {
$content = file_get_contents(targetFile);
}
else $content = "";
}
// Set page title
$pageTitle = $translations['edit'] . ': ' . $translations[$id];
/*
* Store if need be
*/
if (isset($task) and $task == "update") {
file_put_contents(targetFile, $content, LOCK_EX);
$_SESSION["editHistory"] = ["changesStored", $translations['storedEditsToPageElement'] . " $title"];
header('Location: editHTMLPage.php?id=' . $id);
return;
}
/*
* Output
*/
if (!isset($public)) $public = false;
echo printBackendHead($settings, $pageTitle, $pageTitle, $settings['logo']);
echo printBackendHeader($pageTitle, $translations["help$id"]);
echo '
<div id="mainWrapper">
';
echo printBackendNav($translations);
echo '
<main class="noPadding">
<form action="" method="POST">
<textarea type="text" name="content" id="pageContent" class="mceEditor" placeholder="' . $translations['staticPageTitle'] . '" required>';
if (isset($content)) echo $content;
echo '
</textarea>
<span>
<button type="submit">' . $translations['submit'] . '</button>
' . printHiddenInputs(["task" => "update", "id" => $id]) . '
</span>
</form>
</main>
</div>
<script src="./js/tinymce471/js/tinymce/tinymce.min.js"></script>
<script type="text/javascript" src="./js/runTinyMCE.js"></script>
';
echo printBackendEnd();
?>