Made pages edit better and added messages

This commit is contained in:
2025-08-14 18:14:59 -07:00
parent 2f76c1ae35
commit 892110703b
16 changed files with 385 additions and 77 deletions

View File

@@ -1,30 +1,73 @@
<?php
$data['title'] = 'Novaconium Edit Page';
if ( empty($session->get('username'))) {
$data = array_merge($data, [
'title' => 'Novaconium Edit Page',
'pageclass' => 'novaconium'
]);
// Check if logged in
if (empty($session->get('username'))) {
$messages->error('You are not logged in');
$redirect->url('/novaconium/login');
$messages->error('You are not loggedin');
makeitso();
}
$pageid = $router->parameters['id'];
$query=<<<EOSQL
SELECT
id,
title,
intro,
slug,
body,
draft,
created,
updated
FROM pages
WHERE id = '$pageid'
// Get page ID from router parameters
$pageid = $router->parameters['id'] ?? null;
if (!empty($pageid)) {
// Existing page: fetch from database
$query = <<<EOSQL
SELECT
id,
title,
heading,
description,
keywords,
author,
slug,
path,
intro,
body,
notes,
draft,
changefreq,
priority,
created,
updated
FROM pages
WHERE id = ?
EOSQL;
$data['rows'] = $db->getRow($query);
$data = array_merge($data, [
'tinymce' => true,
'pageid' => 'admin-edit-page'
]);
view('@novacore/editpage', $data);
$data['rows'] = $db->getRow($query, [$pageid]);
// If no row is found, treat as new page
if (!$data['rows']) {
$pageid = null;
}
}
if (empty($pageid)) {
// New page: set default values for all fields
$data['rows'] = [
'id' => '',
'title' => '',
'heading' => '',
'description' => '',
'keywords' => '',
'author' => $session->get('username') ?? '',
'slug' => '',
'path' => '',
'intro' => '',
'body' => '',
'notes' => '',
'draft' => 0,
'changefreq' => 'monthly',
'priority' => 0.0,
'created' => date('Y-m-d H:i:s'),
'updated' => date('Y-m-d H:i:s')
];
}
// Render the edit page view
view('@novacore/editpage', $data);