Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var mysql = require('mysql');
- // app/routes.js
- module.exports = function(app, passport) {
- // mysql logic
- var connection = mysql.createConnection({
- connectionLimit : 100,
- host : '127.0.0.1',
- user : 'root',
- password : 'HIDDEN',
- database : 'test',
- debug : false,
- nestTables: true
- });
- // GET /
- app.get('/', function(req, res) {
- res.render('index'); // load the index.ejs file
- });
- // GET /LOGIN
- app.get('/login', function(req, res) {
- // render the page and pass in any flash data if it exists
- res.render('login', { message: req.flash('loginMessage') });
- });
- // POST /LOGIN
- app.post('/login', passport.authenticate('local-login', {
- successRedirect : '/profile', // redirect to the secure profile section
- failureRedirect : '/login', // redirect back to the signup page if there is an error
- failureFlash : true // allow flash messages
- }),
- function(req, res) {
- console.log("hello");
- if (req.body.remember) {
- req.session.cookie.maxAge = 1000 * 60 * 3;
- } else {
- req.session.cookie.expires = false;
- }
- res.redirect('/');
- });
- // GET /PROFILE
- app.get('/profile', isLoggedIn, function(req, res) {
- res.render('profile', {
- user : req.user // get the user out of session and pass to template
- });
- });
- // GET /USER
- app.get('/user/:username', function(req, res){
- var username = req.params.username;
- var options = {sql: 'SELECT * FROM users LEFT JOIN Stats3_kill ON users.UUID = Stats3_kill.uuid LEFT JOIN Stats3_death ON users.UUID = Stats3_death.uuid LEFT JOIN Stats3_joins ON users.uuid = Stats3_joins.uuid LEFT JOIN Stats3_playtime ON users.UUID = Stats3_playtime.uuid LEFT JOIN sc_players ON users.UUID = sc_players.uuid LEFT JOIN sc_clans ON sc_players.tag = sc_clans.tag WHERE Username = ?', nestTables: true};
- connection.query(options, [username], function selectCb(err, user_results, fields){
- if(err) throw err;
- if(user_results != ''){
- function convertTime(input){
- if(input > 60 && input < 3600){
- input = input / 60;
- return input.toFixed(0) + ' minutes';
- console.log(input.toFixed(0) + ' minutes');
- }else if(input > 3600 && input < 86400){
- input = input / 3600;
- return input.toFixed(0) + ' hours';
- console.log(input.toFixed(0) + ' hours');
- }else if(input > 86400 && input < 2592000){
- input = input / 86400;
- return input.toFixed(0) + ' days';
- }else if(input > 2592000 && input < 31104000){
- input = input / 2592000;
- return input.toFixed(0) + ' months';
- }else if(input > 31104000){
- input = input / 31104000;
- return input.toFixed(0) + ' years';
- }
- };
- function checkRole(input){
- if(input == '1'){
- return 'Leader';
- }else if(input == '0'){
- return 'Member';
- }
- };
- function checkUserFirstJoin(input){
- var dateVal ="/Date(" + input + ")/";
- var date = new Date( parseFloat( dateVal.substr(6 )));
- return(
- (date.getMonth() + 1) + "/" +
- date.getDate() + "/" +
- date.getFullYear()
- );
- };
- function convertKD(kills, deaths){
- if(deaths == null){
- var kd = kills / 1;
- return kd.toFixed(1);
- }else if(deaths != null){
- var kd = kills / deaths;
- return kd.toFixed(1);
- }
- };
- function getUserPvp(uuid){
- connection.query('SELECT uuid, victim, time FROM Stats3_pvp WHERE (uuid = ?) or (victim = ?) ORDER by time LIMIT 30', [uuid, uuid], function selectCb(err, results, fields){
- if(err) throw err;
- var arrayLen = results.length;
- var killer = [];
- var killed = [];
- var time = [];
- for(i = 0; i < arrayLen; i++){
- killer[i] = results[i].uuid;
- killed[i] = results[i].victim;
- time[i] = results[i].time;
- };
- });
- };
- // debugging purposes
- // console.log(user_results);
- var user_data =
- {
- user_username: user_results[0].users.Username,
- user_password: user_results[0].users.Password,
- user_email: user_results[0].users.Email,
- user_uuid: user_results[0].users.UUID,
- user_avatar: 'https://crafatar.com/avatars/' + user_results[0].users.UUID,
- user_kills: user_results[0].Stats3_kill.value,
- user_deaths: user_results[0].Stats3_death.value,
- user_kd: convertKD(user_results[0].Stats3_kill.value,user_results[0].Stats3_death.value),
- user_joins: user_results[0].Stats3_joins.value,
- user_playtime: convertTime(user_results[0].Stats3_playtime.value),
- user_clan: user_results[0].sc_clans.name,
- user_role: checkRole(user_results[0].sc_players.leader),
- user_clan_description: user_results[0].sc_clans.description,
- user_clan_id: user_results[0].sc_clans.id,
- user_join_date: checkUserFirstJoin(user_results[0].sc_players.join_date),
- user_pvp_log: getUserPvp(user_results[0].users.UUID)
- };
- res.render('user', { user : req.user, data : user_data });
- } else if(user_results == ''){
- console.log('No user found : ' + req.params.username);
- res.render('user', {message : 'No user page found for ' + req.params.username});
- }
- });
- });
- app.get('/teams/:id', function(req, res){
- var id = req.params.id;
- res.render('teams');
- });
- // GET /LOGOUT
- app.get('/logout', function(req, res) {
- req.logout();
- res.redirect('/');
- });
- };
- // route middleware to make sure
- function isLoggedIn(req, res, next) {
- // if user is authenticated in the session, carry on
- if (req.isAuthenticated())
- return next();
- // if they aren't redirect them to the home page
- res.redirect('/');
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement