get('id'); // fallback for errors // Check login if (empty($session->get('username'))) { $messages->error('You are not logged in'); $redirect->url('/novaconium/login'); makeitso(); } // Check token if ($session->get('token') != $post->get('token')) { $messages->error('Invalid Token'); $redirect->url('/novaconium/pages'); makeitso(); } // Gather POST data $id = $post->get('id'); $title = $_POST['title'] ?? ''; $heading = $_POST['heading'] ?? ''; $description = $_POST['description'] ?? ''; $keywords = $_POST['keywords'] ?? ''; $author = $_POST['author'] ?? ''; $slug = $_POST['slug'] ?? ''; $path = $_POST['path'] ?? null; $intro = $_POST['intro'] ?? ''; $body = $_POST['body'] ?? ''; $notes = $_POST['notes'] ?? ''; $draft = !empty($post->get('draft')) ? 1 : 0; $changefreq = $_POST['changefreq'] ?? 'monthly'; $priority = $_POST['priority'] ?? 0.0; // Validate required fields if (empty($title) || empty($slug) || empty($body)) { $messages->error('Title, Slug, and Body are required.'); $redirect->url($url_error); makeitso(); } try { if (!empty($id)) { // Update existing page $query = "UPDATE `pages` SET `title` = ?, `heading` = ?, `description` = ?, `keywords` = ?, `author` = ?, `slug` = ?, `path` = ?, `intro` = ?, `body` = ?, `notes` = ?, `draft` = ?, `changefreq` = ?, `priority` = ?, `updated` = NOW() WHERE `id` = ?"; $params = [ $title, $heading, $description, $keywords, $author, $slug, $path, $intro, $body, $notes, $draft, $changefreq, $priority, $id ]; $db->query($query, $params); $messages->notice('Page Updated'); } else { // Create new page $query = "INSERT INTO `pages` (`title`, `heading`, `description`, `keywords`, `author`, `slug`, `path`, `intro`, `body`, `notes`, `draft`, `changefreq`, `priority`, `created`) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, NOW())"; $params = [ $title, $heading, $description, $keywords, $author, $slug, $path, $intro, $body, $notes, $draft, $changefreq, $priority ]; $db->query($query, $params); $id = $db->lastid; // Get new page ID $messages->notice('Page Created'); } } catch (Exception $e) { $messages->error($e->getMessage()); $redirect->url($url_error); makeitso(); } // Redirect to edit page $redirect->url('/novaconium/page/edit/' . $id);