-
Notifications
You must be signed in to change notification settings - Fork 10
Expand file tree
/
Copy pathindex.php
More file actions
125 lines (89 loc) · 3.58 KB
/
index.php
File metadata and controls
125 lines (89 loc) · 3.58 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
125
<?php
/**
* template.php
* Página modelo para criação do tema do aplicativo.
* Esta página servirá de modelo para todas as outras quando o tema estiver pronto.
*/
// Define constante com o diretório raiz (/) do aplicativo
// Também podemos usar a constante mágica __DIR__, se disponível no servidor
define('PATH', $_SERVER['DOCUMENT_ROOT']);
// Importa arquivo de configuração da página
require_once(PATH . '/config/config.php');
///// Título da página /////
// Se vazio, teremos <title>Nome do aplicativo .:. Slogan do aplicativo</title>
// Se definido, teremos <title>Nome do aplicativo .:. $title</title>
$title = 'Artigos';
//////////////////////////////////////////////////////////////
///// Os códigos PHP para gerar o conteúdo começam aqui. /////
//////////////////////////////////////////////////////////////
// Obtém o id da categoria
$catid = (isset($_GET['c'])) ? intval($_GET['c']) : 0;
// Obtém categoria conforme o id
$res = $conn->query("SELECT * FROM categories WHERE cat_id = '{$catid}';");
if ($catid > 0 and $res->num_rows == 1) :
// Se a categoria existe, obtém dados dela em $cat
$cat = $res->fetch_assoc();
// Prepara o trecho de SQL para obtér artigos nesta categoria
$inner_join = "INNER JOIN art_cat ON article = art_id";
$where_category = "AND category = '{$catid}'";
else :
// Se categoria não existe ou está listando todos os artigos
$catid = 0;
$inner_join = "";
$where_category = "";
endif;
// Formatando título da página no HTML (<h2>...</h2>)
if ($catid == 0) :
$article = "<h2>Artigos Recentes</h2><small class=\"block text-right\">Artigos mais recentes aparecem primeiro.</small><div class=\"art-list\">";
$title = 'Artigos Recentes';
else :
$article = "<h2>Artigos Recentes em \"{$cat['cat_name']}\"</h2><small class=\"block text-right\">Artigos mais recentes aparecem primeiro.</small><div class=\"art-list\">";
$title = "Artigos Recentes em \"{$cat['cat_name']}\"";
endif;
// Obtém lista de artigos do banco de dados (query)
$sql = <<<SQL
SELECT art_id, art_image, art_title, art_intro
FROM `articles`
{$inner_join}
WHERE `art_date` <= NOW()
AND `art_status` = 'ativo'
{$where_category}
ORDER BY art_date DESC
SQL;
// Executa query e armazena resultados em $res (results)
$res = $conn->query($sql);
// $res->num_rows conta quantos registros (artigos) foram obtidos
if ($res->num_rows == 0) :
// Se não encontrou artigos, exibe feedback no HTML
$article .= <<<HTML
<p class="center">Não encontramos artigos nesta seção!</p>
HTML;
else :
// Se encontrou, itera cada registro obtido para a array $art[] e formata a saída HTML
while ($art = $res->fetch_assoc()) :
$article .= <<<HTML
<div class="list artlink" data-link="/view/?{$art['art_id']}">
<div class="list-img" style="background-image: url('{$art['art_image']}')" title="{$art['art_title']}"></div>
<div class="list-content">
<h3 class="list-title">{$art['art_title']}</h3>
{$art['art_intro']}
</div>
</div>
HTML;
endwhile;
$article .= "</div>\n";
endif;
// Listando categorias
$aside = '<h3>Categorias</h3>' . aside_Categories(true);
///////////////////////////////////////////////////////////////
///// Os códigos PHP para gerar o conteúdo terminam aqui. /////
///////////////////////////////////////////////////////////////
// Importa abertura do tema
require_once(PATH . '/config/header.php');
?>
<article><?= $article ?></article>
<aside><?= $aside ?></aside>
<?php
// Importa fechamento do tema
require_once(PATH . '/config/footer.php');
?>