lots of pagination work, query params, ajaxify to pids

This commit is contained in:
Baris Soner Usakli
2014-01-25 19:19:25 -05:00
parent 8744013013
commit 1084523c92
13 changed files with 144 additions and 164 deletions

View File

@@ -164,17 +164,33 @@ var path = require('path'),
});
app.get('/topic/:id/:slug?', function (req, res, next) {
console.log(req.query);
var uid = (req.user) ? req.user.uid : 0;
var page = 1;
if(req.query && req.query.page) {
page = req.query.page;
}
if(parseInt(page, 10) < 1) {
return res.send(404);
}
var postsPerPage = parseInt(meta.config.postsPerPage ? meta.config.postsPerPage : 20, 10);
var start = (page - 1) * postsPerPage;
var end = start + postsPerPage - 1;
ThreadTools.privileges(req.params.id, uid, function(err, privileges) {
if (privileges.read) {
var postsPerPage = parseInt(meta.config.postsPerPage ? meta.config.postsPerPage : 20, 10);
topics.getTopicWithPosts(req.params.id, uid, 0, postsPerPage - 1, false, function (err, data) {
topics.getTopicWithPosts(req.params.id, uid, start, end, false, function (err, data) {
if(err) {
return next(err);
}
data.currentPage = 1;
if(page > data.pageCount) {
return res.send(404);
}
data.currentPage = page;
data.privileges = privileges;
if (parseInt(data.deleted, 10) === 1 && parseInt(data.expose_tools, 10) === 0) {
@@ -191,16 +207,32 @@ var path = require('path'),
app.get('/category/:id/:slug?', function (req, res, next) {
var uid = (req.user) ? req.user.uid : 0;
var page = 1;
if(req.query && req.query.page) {
page = req.query.page;
}
if(parseInt(page, 10) < 1) {
return res.send(404);
}
var topicsPerPage = parseInt(meta.config.topicsPerPage ? meta.config.topicsPerPage : 20, 10);
var start = (page - 1) * topicsPerPage;
var end = start + topicsPerPage - 1;
// Category Whitelisting
categoryTools.privileges(req.params.id, uid, function(err, privileges) {
if (!err && privileges.read) {
categories.getCategoryById(req.params.id, uid, function (err, data) {
categories.getCategoryById(req.params.id, start, end, uid, function (err, data) {
if(err) {
return next(err);
}
data.currentPage = 1;
if(page > data.pageCount) {
return res.send(404);
}
data.currentPage = page;
data.privileges = privileges;
if (data && parseInt(data.disabled, 10) === 0) {