diff --git a/action.php b/action.php index a539035..498832e 100644 --- a/action.php +++ b/action.php @@ -31,8 +31,10 @@ function returnToSender($msg, $arg = "") { switch ($VARS['action']) { case "sitesettings": - if (!$database->has("sites", ["siteid" => $VARS['siteid']])) { - returnToSender("invalid_parameters"); + if (!is_empty($VARS['siteid'])) { + if (!$database->has("sites", ["siteid" => $VARS['siteid']])) { + returnToSender("invalid_parameters"); + } } if (is_empty($VARS['name'])) { returnToSender("invalid_parameters"); @@ -54,9 +56,14 @@ switch ($VARS['action']) { if ($color != "default" && !file_exists(__DIR__ . "/public/themes/$theme/colors/$color")) { returnToSender("invalid_parameters"); } - $database->update('sites', - ["sitename" => $VARS['name'], "url" => $VARS['url'], "theme" => $theme, "color" => $color], - ["siteid" => $VARS['siteid']]); + if (is_empty($VARS['siteid'])) { + $database->insert('sites', ["sitename" => $VARS['name'], "url" => $VARS['url'], "theme" => $theme, "color" => $color]); + $siteid = $database->id(); + $template = (file_exists(__DIR__ . "/public/themes/$theme/home.php") ? "home" : "default"); + $database->insert('pages', ["slug" => "index", "siteid" => $siteid, "title" => "Home", "nav" => "Home", "navorder" => 1, "template" => "template"]); + } else { + $database->update('sites', ["sitename" => $VARS['name'], "url" => $VARS['url'], "theme" => $theme, "color" => $color], ["siteid" => $VARS['siteid']]); + } returnToSender("settings_saved"); break; case "saveedits": diff --git a/lang/en_us.php b/lang/en_us.php index 5eadb88..bc26886 100644 --- a/lang/en_us.php +++ b/lang/en_us.php @@ -37,6 +37,7 @@ define("STRINGS", [ "new site" => "New Site", "site name" => "Site Name", "url" => "URL", + "adding site" => "Creating site {site}", "editing site" => "Editing {site}", "theme type" => "Theme type", "single page" => "Single page", diff --git a/pages/sites.php b/pages/sites.php index 4adf6e4..891e507 100644 --- a/pages/sites.php +++ b/pages/sites.php @@ -8,7 +8,7 @@ require_once __DIR__ . '/../required.php'; redirectifnotloggedin(); ?>
- +
diff --git a/pages/sitesettings.php b/pages/sitesettings.php index 63c708d..c17ae92 100644 --- a/pages/sitesettings.php +++ b/pages/sitesettings.php @@ -7,8 +7,15 @@ require_once __DIR__ . '/../required.php'; redirectifnotloggedin(); +$editing = true; + +$siteid = ""; +$sitedata = []; + + if (!is_empty($VARS['siteid'])) { if ($database->has('sites', ['siteid' => $VARS['siteid']])) { + $siteid = $VARS['siteid']; $sitedata = $database->select( 'sites', [ 'siteid', @@ -17,20 +24,31 @@ if (!is_empty($VARS['siteid'])) { 'theme', 'color' ], [ - 'siteid' => $VARS['siteid'] + 'siteid' => $siteid ])[0]; } else { header('Location: app.php?page=sites'); + die(); } } else { - header('Location: app.php?page=sites'); + $editing = false; } ?>

- "" . htmlspecialchars($sitedata['sitename']) . ""]); ?> + + "" . htmlspecialchars($sitedata['sitename']) . ""]); ?> + + "" . htmlspecialchars($sitedata['sitename']) . ""]); ?> +

@@ -62,7 +80,7 @@ if (!is_empty($VARS['siteid'])) {

- +
@@ -103,7 +121,7 @@ if (!is_empty($VARS['siteid'])) {
- + @@ -125,7 +143,7 @@ if (!is_empty($VARS['siteid'])) {
- +