Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var client = require("socket.io").listen(8001).sockets;
- var mysql = require("mysql");
- var colors = require("colors");
- var crypto = require("crypto");
- var config = {
- host: "localhost",
- user: "root",
- password: "",
- database: "melonpw"
- };
- var users;
- var num = 0;
- var con;
- function log(text, color) {
- var d = new Date();
- var h = d.getHours();
- var m = d.getMinutes();
- var ap = "AM";
- if (h > 12) {
- h -= 12;
- var ap = "PM";
- }
- if (m < 10) {
- m = "0" + m;
- }
- time = h + ":" + m + " " + ap;
- if (typeof(color) == "undefined") {
- display = colors.grey(time) + ": " + text;
- console.log(display);
- } else {
- console.log(colors.grey(time) + ": " + colors[color](text));
- }
- }
- function handleConnection() {
- con = mysql.createConnection(config);
- con.connect(function(err) {
- if (err) {
- log("An error has occurred while connection: " + err, "red");
- setTimeout(handleConnection, 2000);
- } else {
- log("Connection successful.", "green");
- con.query("SELECT username FROM users", function(err, res) {
- if (err) throw err;
- for (var i = 0; i < res.length; i++) {
- users[res[i].username] = {};
- }
- log("Set known users.", "green");
- });
- }
- });
- con.on("error", function(err) {
- console.log("Error: " + err);
- if (err.code === "PROTOCOL_CONNECTION_LOST") {
- handleConnection();
- } else {
- throw err;
- }
- });
- }
- handleConnection();
- client.on("connection", function(socket) {
- socket.on("register", function(data) {
- for (var key in users) {
- if (key.toLowerCase() == data.username.toLowerCase()) {
- socket.emit("register", { error: "userExists" });
- return;
- }
- }
- if (data.username.length >= 5) {
- if (data.password.length >= 6) {
- if (data.password == data.confirm) {
- encryptedPassword = crypto.createHash('md5').update(data.password).digest('hex');
- insert = { username: data.username, password: encryptedPassword };
- con.query("INSERT INTO users SET ?", insert, function(err, res) {
- if (err) throw err;
- socket.emit("register", true);
- console.log("INSERT success!");
- console.log("Username: " + data.username);
- console.log("Password: " + data.password);
- });
- } else {
- log("Password doesn't match.", "red");
- }
- } else {
- log("Password too short.", "red");
- }
- } else {
- log("Username too short.", "red");
- }
- });
- socket.on("login", function(data) {
- con.query("SELECT username, password FROM users WHERE username = '" + data.username + "'", function(err, res) {
- if (err) throw err;
- if (res.length > 0) {
- encryptedPassword = crypto.createHash('md5').update(data.password).digest('hex');
- if (encryptedPassword == res[0].password) {
- } else {
- socket.emit("login", { error: "incorrectPassword" });
- }
- } else {
- socket.emit("login", { error: "incorrectUsername" });
- }
- });
- });
- socket.on("add", function(data) {
- con.query("SELECT * FROM testing", function(err, res) {
- if (err) throw err;
- console.log("Returned amount: " + res[0].amount);
- if (num == 0) num = 1;
- num = parseInt(res[0].amount) + 1;
- console.log("Number value = " + num);
- });
- con.query("UPDATE testing SET amount = ? WHERE id = ?", [num, 1], function (err, res) {
- if (err) throw err;
- console.log(res);
- });
- });
- });
Add Comment
Please, Sign In to add comment