74 lines
1.7 KiB
PHP
74 lines
1.7 KiB
PHP
<?php
|
|
|
|
$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');
|
|
makeitso();
|
|
}
|
|
|
|
// 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, [$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);
|