forked from NodeBB/nodebb-theme-persona
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathlibrary.js
111 lines (100 loc) · 2.28 KB
/
library.js
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
'use strict';
var striptags = require('striptags');
var meta = require.main.require('./src/meta');
var user = require.main.require('./src/user');
var library = {};
library.addAdminNavigation = function(header, callback) {
header.plugins.push({
route: '/plugins/lastlife',
icon: 'fa-paint-brush',
name: 'Last Life Theme'
});
callback(null, header);
};
library.getTeasers = function(data, callback) {
data.teasers.forEach(function(teaser) {
if (teaser && teaser.content) {
teaser.content = striptags(teaser.content, ['img']);
}
});
callback(null, data);
};
library.defineWidgetAreas = function(areas, callback) {
areas = areas.concat([
{
name: "Categories Sidebar",
template: "categories.tpl",
location: "sidebar"
},
{
name: "Category Sidebar",
template: "category.tpl",
location: "sidebar"
},
{
name: "Topic Sidebar",
template: "topic.tpl",
location: "sidebar"
},
{
name: "Categories Header",
template: "categories.tpl",
location: "header"
},
{
name: "Category Header",
template: "category.tpl",
location: "header"
},
{
name: "Topic Header",
template: "topic.tpl",
location: "header"
},
{
name: "Categories Footer",
template: "categories.tpl",
location: "footer"
},
{
name: "Category Footer",
template: "category.tpl",
location: "footer"
},
{
name: "Topic Footer",
template: "topic.tpl",
location: "footer"
}
]);
callback(null, areas);
};
library.getThemeConfig = function(config, callback) {
meta.settings.get('persona', function(err, settings) {
config.hideSubCategories = settings.hideSubCategories === 'on';
config.hideCategoryLastPost = settings.hideCategoryLastPost === 'on';
config.enableQuickReply = settings.enableQuickReply === 'on';
callback(null, config);
});
};
library.addUserToTopic = function(data, callback) {
if (data.req.user) {
user.getUserData(data.req.user.uid, function(err, userdata) {
if (err) {
return callback(err);
}
data.templateData.loggedInUser = userdata;
callback(null, data);
});
} else {
data.templateData.loggedInUser = {
uid: 0,
username: '[[global:guest]]',
picture: user.getDefaultAvatar(),
'icon:text': '?',
'icon:bgColor': '#aaa',
};
callback(null, data);
}
};
module.exports = library;