Advertisement
Guest User

Testing

a guest
Aug 26th, 2016
134
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var mysql = require('mysql');
  2. // app/routes.js
  3. module.exports = function(app, passport) {
  4.     // mysql logic
  5.     var connection = mysql.createConnection({
  6.         connectionLimit : 100,
  7.         host : '127.0.0.1',
  8.         user : 'root',
  9.         password : 'HIDDEN',
  10.         database : 'test',
  11.         debug : false,
  12.         nestTables: true
  13.     });
  14.  
  15.     // GET /
  16.     app.get('/', function(req, res) {
  17.         res.render('index'); // load the index.ejs file
  18.     });
  19.  
  20.  
  21.     // GET /LOGIN
  22.     app.get('/login', function(req, res) {
  23.  
  24.         // render the page and pass in any flash data if it exists
  25.         res.render('login', { message: req.flash('loginMessage') });
  26.     });
  27.  
  28.     // POST /LOGIN
  29.     app.post('/login', passport.authenticate('local-login', {
  30.             successRedirect : '/profile', // redirect to the secure profile section
  31.             failureRedirect : '/login', // redirect back to the signup page if there is an error
  32.             failureFlash : true // allow flash messages
  33.         }),
  34.         function(req, res) {
  35.             console.log("hello");
  36.  
  37.             if (req.body.remember) {
  38.               req.session.cookie.maxAge = 1000 * 60 * 3;
  39.             } else {
  40.               req.session.cookie.expires = false;
  41.             }
  42.         res.redirect('/');
  43.     });
  44.  
  45.     // GET /PROFILE
  46.     app.get('/profile', isLoggedIn, function(req, res) {
  47.         res.render('profile', {
  48.             user : req.user // get the user out of session and pass to template
  49.         });
  50.     });
  51.    
  52.     // GET /USER
  53.     app.get('/user/:username', function(req, res){
  54.         var username = req.params.username;
  55.         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};
  56.         connection.query(options, [username], function selectCb(err, user_results, fields){
  57.             if(err) throw err;
  58.             if(user_results != ''){
  59.                
  60.                 function convertTime(input){
  61.                     if(input > 60 && input < 3600){
  62.                         input = input / 60;
  63.                         return input.toFixed(0) + ' minutes';
  64.                         console.log(input.toFixed(0) + ' minutes');
  65.                     }else if(input > 3600 && input < 86400){
  66.                         input = input / 3600;
  67.                         return input.toFixed(0) + ' hours';
  68.                         console.log(input.toFixed(0) + ' hours');
  69.                     }else if(input > 86400 && input < 2592000){
  70.                         input = input / 86400;
  71.                         return input.toFixed(0) + ' days';
  72.                     }else if(input > 2592000 && input < 31104000){
  73.                         input = input / 2592000;
  74.                         return input.toFixed(0) + ' months';
  75.                     }else if(input > 31104000){
  76.                         input = input / 31104000;
  77.                         return input.toFixed(0) + ' years';
  78.                     }
  79.                 };
  80.                
  81.                 function checkRole(input){
  82.                     if(input == '1'){
  83.                         return 'Leader';
  84.                     }else if(input == '0'){
  85.                         return 'Member';
  86.                     }
  87.                 };
  88.                
  89.                 function checkUserFirstJoin(input){
  90.                     var dateVal ="/Date(" + input + ")/";
  91.                     var date = new Date( parseFloat( dateVal.substr(6 )));
  92.                     return(
  93.                         (date.getMonth() + 1) + "/" +
  94.                         date.getDate() + "/" +
  95.                         date.getFullYear()
  96.                     );             
  97.                 };
  98.                
  99.                 function convertKD(kills, deaths){
  100.                     if(deaths == null){
  101.                         var kd = kills / 1;
  102.                         return kd.toFixed(1);
  103.                     }else if(deaths != null){
  104.                         var kd = kills / deaths;
  105.                         return kd.toFixed(1);
  106.                     }
  107.                 };
  108.                
  109.                 function getUserPvp(uuid){
  110.                     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){
  111.                         if(err) throw err;
  112.                         var arrayLen = results.length;
  113.                         var killer = [];
  114.                         var killed = [];
  115.                         var time = [];
  116.                         for(i = 0; i < arrayLen; i++){
  117.                             killer[i] = results[i].uuid;
  118.                             killed[i] = results[i].victim;
  119.                             time[i] = results[i].time;
  120.                         };
  121.                     });
  122.                 };
  123.                
  124.                 // debugging purposes
  125.                 // console.log(user_results);
  126.                 var user_data =
  127.                 {
  128.                     user_username: user_results[0].users.Username,
  129.                     user_password: user_results[0].users.Password,
  130.                     user_email: user_results[0].users.Email,
  131.                     user_uuid: user_results[0].users.UUID,
  132.                     user_avatar: 'https://crafatar.com/avatars/' + user_results[0].users.UUID,
  133.                     user_kills: user_results[0].Stats3_kill.value,
  134.                     user_deaths: user_results[0].Stats3_death.value,
  135.                     user_kd: convertKD(user_results[0].Stats3_kill.value,user_results[0].Stats3_death.value),
  136.                     user_joins: user_results[0].Stats3_joins.value,
  137.                     user_playtime: convertTime(user_results[0].Stats3_playtime.value),
  138.                     user_clan: user_results[0].sc_clans.name,
  139.                     user_role: checkRole(user_results[0].sc_players.leader),
  140.                     user_clan_description: user_results[0].sc_clans.description,
  141.                     user_clan_id: user_results[0].sc_clans.id,
  142.                     user_join_date: checkUserFirstJoin(user_results[0].sc_players.join_date),
  143.                     user_pvp_log: getUserPvp(user_results[0].users.UUID)
  144.                 };
  145.  
  146.  
  147.                
  148.                 res.render('user', { user : req.user, data : user_data });
  149.             } else if(user_results == ''){
  150.                 console.log('No user found : ' + req.params.username);
  151.                 res.render('user', {message : 'No user page found for ' + req.params.username});
  152.             }
  153.         });
  154.     });
  155.    
  156.     app.get('/teams/:id', function(req, res){
  157.         var id = req.params.id;
  158.         res.render('teams');   
  159.     });
  160.  
  161.     // GET /LOGOUT
  162.     app.get('/logout', function(req, res) {
  163.         req.logout();
  164.         res.redirect('/');
  165.     });
  166. };
  167.  
  168. // route middleware to make sure
  169. function isLoggedIn(req, res, next) {
  170.  
  171.     // if user is authenticated in the session, carry on
  172.     if (req.isAuthenticated())
  173.         return next();
  174.  
  175.     // if they aren't redirect them to the home page
  176.     res.redirect('/');
  177. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement