forked from it-for-free/my-first-cms
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.php
108 lines (82 loc) · 2.67 KB
/
index.php
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
<?php
//phpinfo(); die();
require("config.php");
try {
initApplication();
} catch (Exception $e) {
$results['errorMessage'] = $e->getMessage();
require(TEMPLATE_PATH . "/viewErrorPage.php");
}
function initApplication()
{
$action = isset($_GET['action']) ? $_GET['action'] : "";
switch ($action) {
case 'archive':
archive();
break;
case 'viewArticle':
viewArticle();
break;
default:
homepage();
}
}
function archive()
{
$results = [];
$categoryId = ( isset( $_GET['categoryId'] ) && $_GET['categoryId'] ) ? (int)$_GET['categoryId'] : null;
$results['category'] = Category::getById( $categoryId );
$data = Article::getList( 100000, $results['category'] ? $results['category']->id : null );
$results['articles'] = $data['results'];
$results['totalRows'] = $data['totalRows'];
$data = Category::getList();
$results['categories'] = array();
foreach ( $data['results'] as $category ) {
$results['categories'][$category->id] = $category;
}
$results['pageHeading'] = $results['category'] ? $results['category']->name : "Article Archive";
$results['pageTitle'] = $results['pageHeading'] . " | Widget News";
require( TEMPLATE_PATH . "/archive.php" );
}
/**
* Загрузка страницы с конкретной статьёй
*
* @return null
*/
function viewArticle()
{
if ( !isset($_GET["articleId"]) || !$_GET["articleId"] ) {
homepage();
return;
}
$results = array();
$articleId = (int)$_GET["articleId"];
$results['article'] = Article::getById($articleId);
if (!$results['article']) {
throw new Exception("Статья с id = $articleId не найдена");
}
$results['category'] = Category::getById($results['article']->categoryId);
$results['pageTitle'] = $results['article']->title . " | Простая CMS";
require(TEMPLATE_PATH . "/viewArticle.php");
}
/**
* Вывод домашней ("главной") страницы сайта
*/
function homepage()
{
$results = array();
$data = Article::getList(HOMEPAGE_NUM_ARTICLES);
$results['articles'] = $data['results'];
$results['totalRows'] = $data['totalRows'];
$data = Category::getList();
$results['categories'] = array();
foreach ( $data['results'] as $category ) {
$results['categories'][$category->id] = $category;
}
$results['pageTitle'] = "Простая CMS на PHP";
// echo "<pre>";
// print_r($data);
// echo "</pre>";
// die();
require(TEMPLATE_PATH . "/homepage.php");
}