mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-11-06 14:05:46 +01:00
applying custom theme (if enabled) to all routes
This commit is contained in:
@@ -5,8 +5,7 @@
|
|||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<meta name="title" CONTENT="NodeBB">
|
<meta name="title" CONTENT="NodeBB">
|
||||||
<meta name="description" content="Node.js/Redis/Socket.io powered forums for a new generation">
|
<meta name="description" content="Node.js/Redis/Socket.io powered forums for a new generation">
|
||||||
<link href="/vendor/bootstrap/css/bootstrap.min.css" rel="stylesheet" media="screen">
|
<link href="{cssSrc}" rel="stylesheet" media="screen">
|
||||||
<!-- <link href="{cssSrc}" rel="stylesheet" media="screen"> -->
|
|
||||||
<link href="/vendor/bootstrap/css/bootstrap-responsive.min.css" rel="stylesheet" media="screen">
|
<link href="/vendor/bootstrap/css/bootstrap-responsive.min.css" rel="stylesheet" media="screen">
|
||||||
<link rel="stylesheet" href="/vendor/fontawesome/css/font-awesome.min.css">
|
<link rel="stylesheet" href="/vendor/fontawesome/css/font-awesome.min.css">
|
||||||
<script type="text/javascript" src="http://code.jquery.com/jquery.js"></script>
|
<script type="text/javascript" src="http://code.jquery.com/jquery.js"></script>
|
||||||
|
|||||||
@@ -81,11 +81,15 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
Auth.create_routes = function(app) {
|
Auth.create_routes = function(app) {
|
||||||
|
var build_header = function() {
|
||||||
|
return templates['header'].parse({ cssSrc: global.config['theme:src'] || '/vendor/bootstrap/css/bootstrap.min.css' });
|
||||||
|
};
|
||||||
|
|
||||||
app.get('/logout', function(req, res) {
|
app.get('/logout', function(req, res) {
|
||||||
console.log('info: [Auth] Session ' + req.sessionID + ' logout (uid: ' + global.uid + ')');
|
console.log('info: [Auth] Session ' + req.sessionID + ' logout (uid: ' + global.uid + ')');
|
||||||
user_module.logout(req.sessionID, function(logout) {
|
user_module.logout(req.sessionID, function(logout) {
|
||||||
req.logout();
|
req.logout();
|
||||||
res.send(templates['header'] + templates['logout'] + templates['footer']);
|
res.send(build_header() + templates['logout'] + templates['footer']);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -119,11 +123,11 @@
|
|||||||
|
|
||||||
|
|
||||||
app.get('/reset/:code', function(req, res) {
|
app.get('/reset/:code', function(req, res) {
|
||||||
res.send(templates['header'] + templates['reset_code'].parse({ reset_code: req.params.code }) + templates['footer']);
|
res.send(build_header() + templates['reset_code'].parse({ reset_code: req.params.code }) + templates['footer']);
|
||||||
});
|
});
|
||||||
|
|
||||||
app.get('/reset', function(req, res) {
|
app.get('/reset', function(req, res) {
|
||||||
res.send(templates['header'] + templates['reset'] + templates['footer']);
|
res.send(build_header() + templates['reset'] + templates['footer']);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,9 @@ var user = require('./../user.js'),
|
|||||||
|
|
||||||
(function(User) {
|
(function(User) {
|
||||||
User.create_routes = function(app) {
|
User.create_routes = function(app) {
|
||||||
|
var build_header = function() {
|
||||||
|
return templates['header'].parse({ cssSrc: global.config['theme:src'] || '/vendor/bootstrap/css/bootstrap.min.css' });
|
||||||
|
};
|
||||||
|
|
||||||
app.get('/uid/:uid', function(req, res) {
|
app.get('/uid/:uid', function(req, res) {
|
||||||
|
|
||||||
@@ -23,24 +25,18 @@ var user = require('./../user.js'),
|
|||||||
});
|
});
|
||||||
|
|
||||||
app.get('/users', function(req, res) {
|
app.get('/users', function(req, res) {
|
||||||
|
|
||||||
user.getUserList(function(data) {
|
user.getUserList(function(data) {
|
||||||
|
res.send(build_header() + app.create_route("users", "users") + templates['footer']);
|
||||||
res.send(templates['header'] + app.create_route("users", "users") + templates['footer']);
|
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
app.get('/users/:username', function(req, res) {
|
app.get('/users/:username', function(req, res) {
|
||||||
|
|
||||||
if(!req.params.username) {
|
if(!req.params.username) {
|
||||||
res.send("User doesn't exist!");
|
res.send("User doesn't exist!");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
user.get_uid_by_username(req.params.username, function(uid) {
|
user.get_uid_by_username(req.params.username, function(uid) {
|
||||||
|
|
||||||
if(!uid) {
|
if(!uid) {
|
||||||
res.redirect('/403');
|
res.redirect('/403');
|
||||||
return;
|
return;
|
||||||
@@ -48,7 +44,7 @@ var user = require('./../user.js'),
|
|||||||
|
|
||||||
user.getUserData(uid, function(data) {
|
user.getUserData(uid, function(data) {
|
||||||
if(data) {
|
if(data) {
|
||||||
res.send(templates['header'] + app.create_route('users/'+data.username, 'account') + templates['footer']);
|
res.send(build_header() + app.create_route('users/'+data.username, 'account') + templates['footer']);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
res.redirect('/403');
|
res.redirect('/403');
|
||||||
@@ -65,7 +61,7 @@ var user = require('./../user.js'),
|
|||||||
user.getUserField(req.user.uid, 'username', function(username) {
|
user.getUserField(req.user.uid, 'username', function(username) {
|
||||||
|
|
||||||
if(req.params.username && username === req.params.username)
|
if(req.params.username && username === req.params.username)
|
||||||
res.send(templates['header'] + app.create_route('users/'+req.params.username+'/edit','accountedit') + templates['footer']);
|
res.send(build_header() + app.create_route('users/'+req.params.username+'/edit','accountedit') + templates['footer']);
|
||||||
else
|
else
|
||||||
return res.redirect('/403');
|
return res.redirect('/403');
|
||||||
});
|
});
|
||||||
@@ -231,7 +227,7 @@ var user = require('./../user.js'),
|
|||||||
if(!req.user)
|
if(!req.user)
|
||||||
return res.redirect('/403');
|
return res.redirect('/403');
|
||||||
|
|
||||||
res.send(templates['header'] + app.create_route('users/'+req.params.username+'/friends','friends') + templates['footer']);
|
res.send(build_header() + app.create_route('users/'+req.params.username+'/friends','friends') + templates['footer']);
|
||||||
});
|
});
|
||||||
|
|
||||||
function api_method(req, res) {
|
function api_method(req, res) {
|
||||||
|
|||||||
@@ -70,25 +70,23 @@ var express = require('express'),
|
|||||||
return '<script>templates.ready(function(){ajaxify.go("' + url + '", null, "' + tpl + '");});</script>';
|
return '<script>templates.ready(function(){ajaxify.go("' + url + '", null, "' + tpl + '");});</script>';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// Basic Routes (entirely client-side parsed, goal is to move the rest of the crap in this file into this one section)
|
// Basic Routes (entirely client-side parsed, goal is to move the rest of the crap in this file into this one section)
|
||||||
(function() {
|
(function() {
|
||||||
var routes = ['', 'login', 'register', 'account', 'latest', 'popular', 'active', '403', '404'];
|
var routes = ['', 'login', 'register', 'account', 'latest', 'popular', 'active', '403', '404'],
|
||||||
|
build_header = function() {
|
||||||
|
return templates['header'].parse({ cssSrc: global.config['theme:src'] || '/vendor/bootstrap/css/bootstrap.min.css' });
|
||||||
|
};
|
||||||
|
|
||||||
for (var i=0, ii=routes.length; i<ii; i++) {
|
for (var i=0, ii=routes.length; i<ii; i++) {
|
||||||
(function(route) {
|
(function(route) {
|
||||||
|
|
||||||
app.get('/' + route, function(req, res) {
|
app.get('/' + route, function(req, res) {
|
||||||
|
|
||||||
if ((route === 'login' || route ==='register') && (req.user && req.user.uid > 0)) {
|
if ((route === 'login' || route ==='register') && (req.user && req.user.uid > 0)) {
|
||||||
res.redirect('/account');
|
res.redirect('/account');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
res.send(
|
res.send(build_header() + app.create_route(route) + templates['footer']);
|
||||||
templates['header'].parse({ cssSrc: global.config['theme:src'] || '/vendor/bootstrap/css/bootstrap.min.css' }) +
|
|
||||||
app.create_route(route) + templates['footer']
|
|
||||||
);
|
|
||||||
});
|
});
|
||||||
}(routes[i]));
|
}(routes[i]));
|
||||||
}
|
}
|
||||||
@@ -97,16 +95,16 @@ var express = require('express'),
|
|||||||
// Complex Routes
|
// Complex Routes
|
||||||
app.get('/topic/:topic_id/:slug?', function(req, res) {
|
app.get('/topic/:topic_id/:slug?', function(req, res) {
|
||||||
var topic_url = req.params.topic_id + (req.params.slug ? '/' + req.params.slug : '');
|
var topic_url = req.params.topic_id + (req.params.slug ? '/' + req.params.slug : '');
|
||||||
res.send(templates['header'] + '<script>templates.ready(function(){ajaxify.go("topic/' + topic_url + '");});</script>' + templates['footer']);
|
res.send(build_header() + '<script>templates.ready(function(){ajaxify.go("topic/' + topic_url + '");});</script>' + templates['footer']);
|
||||||
});
|
});
|
||||||
|
|
||||||
app.get('/category/:category_id/:slug?', function(req, res) {
|
app.get('/category/:category_id/:slug?', function(req, res) {
|
||||||
var category_url = req.params.category_id + (req.params.slug ? '/' + req.params.slug : '');
|
var category_url = req.params.category_id + (req.params.slug ? '/' + req.params.slug : '');
|
||||||
res.send(templates['header'] + '<script>templates.ready(function(){ajaxify.go("category/' + category_url + '");});</script>' + templates['footer']);
|
res.send(build_header() + '<script>templates.ready(function(){ajaxify.go("category/' + category_url + '");});</script>' + templates['footer']);
|
||||||
});
|
});
|
||||||
|
|
||||||
app.get('/confirm/:code', function(req, res) {
|
app.get('/confirm/:code', function(req, res) {
|
||||||
res.send(templates['header'] + '<script>templates.ready(function(){ajaxify.go("confirm/' + req.params.code + '");});</script>' + templates['footer']);
|
res.send(build_header() + '<script>templates.ready(function(){ajaxify.go("confirm/' + req.params.code + '");});</script>' + templates['footer']);
|
||||||
});
|
});
|
||||||
|
|
||||||
// These functions are called via ajax once the initial page is loaded to populate templates with data
|
// These functions are called via ajax once the initial page is loaded to populate templates with data
|
||||||
|
|||||||
Reference in New Issue
Block a user