-
Notifications
You must be signed in to change notification settings - Fork 2
/
func.php
101 lines (84 loc) · 2.58 KB
/
func.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
<?php
//paper functions file
use pinoox\app\com_pinoox_paper\model\CategoryModel;
use pinoox\app\com_pinoox_paper\component\TemplateHelper;
use pinoox\app\com_pinoox_paper\model\PostModel;
use pinoox\app\com_pinoox_paper\model\SettingsModel;
function setting($name = null, $theme = null)
{
return SettingsModel::getData($name, $theme);
}
function paper_head()
{
TemplateHelper::printHead();
}
function paper_footer()
{
TemplateHelper::printFooter();
}
function posts($value, $option = [])
{
PostModel::where_post_type(PostModel::post_type);
PostModel::where_status(PostModel::publish_status);
$posts = PostModel::fetcher($value, $option);
if (!is_array($posts))
return $posts;
$date_format = isset($option['date_format']) ? $option['date_format'] : null;
$posts = array_map(function ($post) use ($date_format) {
return PostModel::getInfoPost($post, $date_format,true);
}, $posts);
return $posts;
}
function hot_tags($limit = 10)
{
return PostModel::hot_tags($limit);
}
function category($key = null, $into = false)
{
if ($into) {
$cat = CategoryModel::fetch_by_id_or_key($key);
if (!$cat)
return null;
CategoryModel::where_parent($cat['cat_id']);
return CategoryModel::fetch_all();
} else {
return CategoryModel::fetch_by_id_or_key($key);
}
}
function category_tree()
{
$category = CategoryModel::fetch_all();
return CategoryModel::tree($category);
}
function breadcrumb($key)
{
return CategoryModel::get_breadcrumb($key);
}
function paper_menu($items = null)
{
$items = empty($items) ? setting('general.menu') : $items;
if (isset($items) && !empty($items)) {
foreach ($items as $menu) {
if (empty($menu['link']))
$menu['link'] = '';
$link = !filter_var(@$menu['link'], FILTER_VALIDATE_URL) ? url($menu['link']) : @$menu['link'];
echo '<a href="' . $link . '">' . "\n";
if (!empty($menu['icon'])) {
echo '<i class="' . @$menu['icon'] . '"></i>' . "\n";
} else if (!empty($menu['image'])) {
echo '<img alt="' . @$menu['label'] . '" src="' . furl($menu['image']) . '"/>' . "\n";
}
echo $menu['label'] . "\n";
echo '</a>' . "\n";
}
}
}
function posts_by_category($key,$limit = 10){
$cat = CategoryModel::fetch_by_id_or_key($key);
$ids = [];
CategoryModel::fetch_all_child_ids($cat['cat_id'], $ids);
PostModel::where_category_ids($ids);
return posts('all', [
'limit' => $limit,
]);
}