From 188b1d5ada1286b20144826abb475594dadb38a0 Mon Sep 17 00:00:00 2001 From: Baris Usakli Date: Tue, 14 May 2013 13:04:12 -0400 Subject: [PATCH] for andrew --- app.js | 2 +- public/templates/account.tpl | 2 +- src/routes/user.js | 95 ++++++++++++++++++++++++++++++++++++ src/webserver.js | 60 +++-------------------- 4 files changed, 104 insertions(+), 55 deletions(-) create mode 100644 src/routes/user.js diff --git a/app.js b/app.js index 498fe85203..5f5d16ac8d 100644 --- a/app.js +++ b/app.js @@ -11,7 +11,7 @@ global.configuration = {}; (function(config) { config['ROOT_DIRECTORY'] = __dirname; - templates.init(); + templates.init(); //setup scripts to be moved outside of the app in future. function setup_categories() { diff --git a/public/templates/account.tpl b/public/templates/account.tpl index 06f9ad4a73..58c4cad975 100644 --- a/public/templates/account.tpl +++ b/public/templates/account.tpl @@ -26,7 +26,7 @@
website - {website} + {website}
location diff --git a/src/routes/user.js b/src/routes/user.js new file mode 100644 index 0000000000..06c9613777 --- /dev/null +++ b/src/routes/user.js @@ -0,0 +1,95 @@ + + +var user = require('./../user.js'); + + +(function(User) { + User.create_routes = function(app) { + + + app.get('/uid/:uid', function(req, res) { + + if(!req.params.uid) + return res.redirect('/403'); + + user.getUserData(req.params.uid, function(data){ + if(data) + res.send(data); + else + res.send("User doesn't exist!"); + }); + + }); + + app.get('/users', function(req, res) { + + user.getUserList(function(data) { + + res.send(templates['header'] + app.create_route("users", "users") + templates['footer']); + + }); + + }); + + app.get('/users/:username*', function(req, res) { + if(!req.params.username) { + res.send("User doesn't exist!"); + return; + } + + user.get_uid_by_username(req.params.username, function(uid) { + + if(!uid) { + res.redirect('/403'); + return; + } + + user.getUserData(uid, function(data) { + if(data) { + res.send(templates['header'] + app.create_route('users/'+data.username, 'account') + templates['footer']); + } + else { + res.redirect('/403'); + } + }); + }); + }); + +/* + function api_method(req, res) { + switch(req.params.method) { + case 'users' : + if (req.params.tab == 'search') { + res.send(JSON.stringify({search_display: 'block', users: []})) + } else { + user.getUserList(function(data){ + res.send(JSON.stringify({search_display: 'none', users:data})); + }); + } + + break; + case 'categories': + if (req.params.tab == 'disabled') { + res.send(JSON.stringify({categories: []})); + } else { + categories.get(function(data) { + res.send(JSON.stringify(data)); + }); + } + break; + case 'topics' : + topics.get(function(data) { + res.send(JSON.stringify(data)); + }); + break; + default : + res.send('{}'); + } + } + + app.get('/api/admin/:method/:tab?*', api_method); + app.get('/api/admin/:method*', api_method);*/ + }; + + +}(exports)); \ No newline at end of file diff --git a/src/webserver.js b/src/webserver.js index 5586c8526e..ef7dbe4901 100644 --- a/src/webserver.js +++ b/src/webserver.js @@ -8,12 +8,14 @@ var express = require('express'), redisServer = redis.createClient(config.redis.port, config.redis.host, config.redis.options), user = require('./user.js'), + categories = require('./categories.js'), posts = require('./posts.js'), topics = require('./topics.js'), utils = require('./utils.js'), fs = require('fs'), admin = require('./routes/admin.js'), + userRoute = require('./routes/user.js'), auth = require('./routes/authentication.js'); @@ -54,7 +56,7 @@ var express = require('express'), auth.create_routes(app); admin.create_routes(app); - + userRoute.create_routes(app); app.create_route = function(url, tpl) { // to remove @@ -343,7 +345,7 @@ var express = require('express'), function get_account_fn(req, res, callback) { var username = req.params.id; - + console.log("derp"); user.get_uid_by_username(username, function(uid) { user.getUserData(uid, function(data) { @@ -351,6 +353,9 @@ var express = require('express'), { data.joindate = utils.relativeTime(data.joindate); data.age = new Date().getFullYear() - new Date(data.birthday).getFullYear(); + console.log(data.age); + if(data.age === null) + data.age = 0; data.uid = uid; data.yourid = (req.user)?req.user.uid : 0; @@ -370,31 +375,7 @@ var express = require('express'), callback({users:data}); }); } - - app.get('/uid/:uid', function(req, res) { - - if(!req.params.uid) - return res.redirect('/403'); - - user.getUserData(req.params.uid, function(data){ - if(data) - res.send(data); - else - res.send("User doesn't exist!"); - }); - - }); - - app.get('/users', function(req, res) { - - user.getUserList(function(data){ - - res.send(templates['header'] + app.create_route("users", "users") + templates['footer']); - - }); - - }); app.get('/users/:uid/edit', function(req, res){ @@ -409,34 +390,7 @@ var express = require('express'), return res.redirect('/403'); }); }); - - app.get('/users/:username*', handleUserProfile); - - function handleUserProfile(req, res) { - - if(!req.params.username) { - res.send("User doesn't exist!"); - return; - } - - user.get_uid_by_username(req.params.username, function(uid) { - - if(!uid) { - res.redirect('/403'); - return; - } - - user.getUserData(uid, function(data) { - if(data) { - res.send(templates['header'] + app.create_route('users/'+data.username, 'account') + templates['footer']); - } - else { - res.redirect('/403'); - } - }); - }); - } app.get('/test', function(req, res) { posts.getRawContent(11, function(post) {