92 lines
1.8 KiB
PHP
92 lines
1.8 KiB
PHP
|
<?php
|
||
|
|
||
|
class page
|
||
|
{
|
||
|
|
||
|
private $query;
|
||
|
public $exists;
|
||
|
public $data;
|
||
|
|
||
|
public $slug;
|
||
|
|
||
|
public function __construct($slug = false)
|
||
|
{
|
||
|
|
||
|
global $_sql;
|
||
|
|
||
|
if ($slug)
|
||
|
{
|
||
|
$slug = sqlprot($slug);
|
||
|
$this->slug = $slug;
|
||
|
$this->query = $_sql->query("SELECT * FROM pages WHERE pageSlug = '$slug'");
|
||
|
$this->exists = ($this->query->num_rows ? true : false);
|
||
|
|
||
|
if ($this->exists)
|
||
|
$this->data = $this->query->fetch_assoc();
|
||
|
} else
|
||
|
{
|
||
|
$this->query = $_sql->query("SELECT * FROM pages".($trash ? ' WHERE pageDeleted = 1' : ''));
|
||
|
$this->exists = ($this->query->num_rows ? true : false);
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
|
||
|
public function status()
|
||
|
{
|
||
|
if ($this->exists)
|
||
|
return true;
|
||
|
return false;
|
||
|
}
|
||
|
|
||
|
public function readable()
|
||
|
{
|
||
|
if ($this->exists && !$this->data['pageDeleted'])
|
||
|
return true;
|
||
|
return false;
|
||
|
}
|
||
|
|
||
|
public function get_list()
|
||
|
{
|
||
|
$pages = array();
|
||
|
while ($data = $this->query->fetch_assoc())
|
||
|
array_push($pages, $data);
|
||
|
}
|
||
|
|
||
|
public function update($title, $content)
|
||
|
{
|
||
|
global $_sql;
|
||
|
|
||
|
$title = sqlprot($title);
|
||
|
$content = sqlprot($content);
|
||
|
|
||
|
if (Check::title($title) && $this->data)
|
||
|
if ($_sql->query("UPDATE pages SET pageTitle = '$title', pageContent = '$content' WHERE pageSlug = '".$this->data['pageSlug']."'"))
|
||
|
return true;
|
||
|
return false;
|
||
|
}
|
||
|
|
||
|
public function create($title, $content)
|
||
|
{
|
||
|
global $_sql;
|
||
|
|
||
|
$slug = sqlprot($this->slug);
|
||
|
$title = sqlprot($title);
|
||
|
$content = sqlprot($content);
|
||
|
|
||
|
if (Check::title($title) && Check::slug($slug) && !$this->data)
|
||
|
if ($_sql->query("INSERT INTO pages (pageSlug, pageTitle, pageContent) VALUES ('$slug', '$title', '$content')"))
|
||
|
return true;
|
||
|
return false;
|
||
|
}
|
||
|
|
||
|
public function delete()
|
||
|
{
|
||
|
global $_sql;
|
||
|
|
||
|
if ($this->data)
|
||
|
if ($_sql->query("UPDATE pages SET pageDeleted = 1 WHERE pageSlug = '".$this->data['pageSlug']."'"))
|
||
|
return true;
|
||
|
return false;
|
||
|
}
|
||
|
}
|