';
die();
}
//Pediram logout
if (isset($_SESSION['admin']) && isset($_GET['logout'])) {
unset($_SESSION['admin']);
}
//Ativa modo admin
if ($_SESSION['admin'] == TRUE) $admin = TRUE;
//Banco
$db = new PDO('sqlite:section.sq3');
/*
Única tabela do sistema:
CREATE TABLE Section (
Name VARCHAR(32) NOT NULL,
Parent VARCHAR(32) NOT NULL,
Title VARCHAR(256) NOT NULL,
Date DATETIME NOT NULL,
Text TEXT,
PRIMARY KEY (Name),
FOREIGN KEY (Parent) REFERENCES Section (Name)
)*/
//Dispara exceções em erros:
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
//Pega o ID da página atual
$id = preg_replace('#.*?([[:alnum:]_.-]+)/?(\?.*)?$#','$1',$_SERVER['REQUEST_URI']);
//Dados da página atual
$page = $db->query("SELECT * FROM Section WHERE Name = '$id'",PDO::FETCH_OBJ)->fetch();
//Foram enviados dados
if (!empty($_POST)) {
//Foi enviado um nome
if (!empty($_POST['Name'])) {
//Busca no banco
$posted = $db->query("SELECT * FROM Section WHERE Name = '{$_POST['Name']}'",PDO::FETCH_OBJ)->fetch();
//Se existe no banco...
if (isset($posted->Name)) {
//Se possui título atualiza
if (!empty($_POST['Title'])) {
$db->exec("UPDATE Section
SET Parent = '{$_POST['Parent']}',
Title = '{$_POST['Title']}', Text = '{$_POST['Text']}'
WHERE Name = '{$_POST['Name']}'");
//Se não possui título exclui
} else {
$db->exec("DELETE FROM Section WHERE Name = '{$_POST['Name']}'");
}
//Não existe no banco, insere
} else {
$db->exec("INSERT INTO Section (Name, Parent, Title, Text, Date)
VALUES ('{$_POST['Name']}', '{$_POST['Parent']}',
'{$_POST['Title']}', '{$_POST['Text']}', CURRENT_TIMESTAMP)");
}
}
}
?>
Section - =$page->Title?>
=$page->Text?>
query("SELECT * FROM Section WHERE Parent = '{$page->Name}' AND Name != '{$page->Name}' ORDER BY Date DESC",PDO::FETCH_OBJ) as $section):?>