slythfox / qcms

QuateCMS

This URL has Read+Write access

slythfox (author)
Sat May 09 23:56:48 -0700 2009
commit  c4aa8d718c381c371453d7331ccd80bb4a2b19e1
tree    a273d99a1c8051b90f6730541c6318dd2ba39012
parent  f27ff8de9f3c65be3db70a68cf2efbd337097e26
qcms / index.php
100755 124 lines (112 sloc) 2.713 kb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
<?php
$location = "./";
$bypass_connect = true; // Bypass database connecting until the cache has been checked.
require_once($location. "includes/framework.php");
 
if ($_GET['p'])
{
$page = $_GET['p'];
}
else if ($_GET['page'])
{
$page = $_GET['page'];
}
else
{
$page = get_short_url(0);
}
 
// Get category from URL.
if ($_GET['c'])
{
$cat = $_GET['c'];
}
else if ($_GET['category'])
{
$cat = $_GET['category'];
}
else
{
$cat = get_short_url(1);
}
 
// If page is not defined.
if ($page == "")
{
// Default page id, since none was defined.
$page = $settings['website']['page_default'];
}
 
// Check for a page cache.
if ($settings['core']['use_cache'] == "1")
{
$page_cache_name = $page;
if ($cat != "") { $page_cache_name = "cat_" .$cat; }
 
$pagecache = new Cache_page($page_cache_name);
 
if ($cache = $pagecache->get())
{
echo $cache;
exit();
}
}
 
// No existing cache, so now a database connection should now be established.
$db->connect($settings['db']);
 
if ($cat != "")
{
// Query database (and check if $page is a number or something else).
if (is_numeric($cat))
{
// Is a number
$query = "SELECT * FROM " .DB_PREFIX. "page WHERE page_category = '" .$db->escape($cat). "'";
}
else
{
// Is a string (text)
$cat = urldecode($cat);
$query = "SELECT * FROM " .DB_PREFIX. "category WHERE category_url = '" .$db->escape($cat). "'";
$result = $db->query($query);
$row_cat = $db->fetch_array($result);
 
$query = "SELECT * FROM " .DB_PREFIX. "page WHERE page_category = '" .$db->escape($row_cat['category_id']). "' LIMIT 5";
}
}
else
{
// Query database (and check if $page is a number or something else).
if (is_numeric($page))
{
// Is a number
$query = "SELECT * FROM " .DB_PREFIX. "page WHERE page_id = '" .$db->escape($page). "'";
}
else
{
// Is a string (text)
$page = urldecode($page);
$query = "SELECT * FROM " .DB_PREFIX. "page WHERE page_url = '" .$db->escape($page). "'";
}
}
 
$result = $db->query($query);
if ($db->num_rows($result) == 0)
{
$pg['header'] = "Error";
$pg['title'] = generateTitle($pg['header']);
$pg['content'] = "<p>Page not found.</p>";
display_template();
exit();
}
while ($row = $db->fetch_array($result))
{
extract($row);
 
$pg['title'] = generateTitle($page_title);
$pg['header'] = $page_title;
//$pg['content'] = $page_text;
$pg['content'] .= display_get($page_text, "content.php");
}
 
// Display output. Cache page if enabled.
if ($settings['core']['use_cache'] == 1)
{
$pagecache->start();
display_template();
$pagecache->end();
$pagecache->save();
}
else
{
display_template();
}
?>