From b9b9701a05209271d4a2cad9d9c3374bd575c8d9 Mon Sep 17 00:00:00 2001 From: joates Date: Mon, 12 Jan 2015 20:38:49 +0000 Subject: [PATCH 1/5] src/* deprecated --- src/email-client.js | 56 ------------------------------ src/email-confirm.js | 48 -------------------------- src/email-submit.js | 81 -------------------------------------------- src/ip-trace.js | 8 ----- src/mail.js | 0 src/rng.js | 20 ----------- 6 files changed, 213 deletions(-) delete mode 100644 src/email-client.js delete mode 100644 src/email-confirm.js delete mode 100644 src/email-submit.js delete mode 100644 src/ip-trace.js delete mode 100644 src/mail.js delete mode 100644 src/rng.js diff --git a/src/email-client.js b/src/email-client.js deleted file mode 100644 index efa385f..0000000 --- a/src/email-client.js +++ /dev/null @@ -1,56 +0,0 @@ -var ready = require('domready') - , check_email = require('valid-email') - , loadsvg = require('load-svg') - -process.nextTick(function() { - ready(function() { - - var form = document.getElementById('signup-form') - , input_email = '' - , status_msg = document.getElementById('status-msg') - , logoCont = document.getElementById('logoCont') - - loadsvg('/assets/img/squatconf_baguette.svg', function (err, svg) { - logoCont.appendChild(svg); - }); - - for (var n = 0, l = form.childNodes[1].childNodes.length; n < l; n++) { - var el = form.childNodes[1].childNodes[n] - if (el.nodeName === 'INPUT' && el.name === 'email') - input_email = el - } - - document - .getElementById("signup-form") - .addEventListener("click", function(e) { - if (e.srcElement.nodeName === 'BUTTON') { - if (input_email && input_email.value) { - var is_valid = check_email(input_email.value) - if (is_valid) { - var progress = 0 - , timerID = null - e.preventDefault() - status_msg.className = 'info' - status_msg.innerHTML = "Sending" - timerID = setInterval(function() { - if (++progress < 8) { - status_msg.innerHTML += "." - } else { - clearInterval(timerID) - form.submit() - } - }, 150) - } else { - e.preventDefault() - input_email.value = '' - status_msg.className = 'error' - status_msg.innerHTML = "that doesn't look like an email address," - + "
please try again..." - setTimeout(function() { status_msg.innerHTML = ' ' }, 2000) - } - } - } - }) - }) -}) - diff --git a/src/email-confirm.js b/src/email-confirm.js deleted file mode 100644 index 17f6cd1..0000000 --- a/src/email-confirm.js +++ /dev/null @@ -1,48 +0,0 @@ -var sanitize = require('xss-escape') - , ip = require('./ip-trace') - -module.exports = function(db) { - return function (req, res, next) { - req.resume() - - function error(e) { - console.error(e) - return next(e || e.msg || 'ERROR') - } - - var params = require('url').parse(req.url, true) - - if (params && params.query.email && params.query.token) { - - var email = sanitize(params.query.email) - , token = sanitize(params.query.token) - - db.get(email, function(err, obj) { - if (err) return error(err) - - // db read OK.. - if (obj && ! obj.verified) { - if (obj.token === token) { - obj.verified = true - obj.trace = obj.trace.concat(ip(req)) - - db.put(email, obj, function(err) { - if (err) return error(err) - - // db write OK.. - res.statusCode = 302 - res.setHeader('Location', '/verified.html') - return res.end() - }) - } - } else { - error('email is already verified: '+ email) - } - }) - - } else { - error('invalid input: '+ JSON.stringify(params.query)) - } - } -} - diff --git a/src/email-submit.js b/src/email-submit.js deleted file mode 100644 index 3c8d133..0000000 --- a/src/email-submit.js +++ /dev/null @@ -1,81 +0,0 @@ -var sanitize = require('xss-escape') - , rn = require('./rng') - , ip = require('./ip-trace') - , config = require('../config') - , Mailgun = require('mailgun').Mailgun - , mg = new Mailgun(config.mailjetKey); - - - - -module.exports = function(db) { - return function (req, res, next) { - req.resume() - - function error(e) { - console.error(e) - return next(e || e.msg || 'ERROR') - } - - var params = require('url').parse(req.url, true) - - if (params && params.query.email) { - - var obj = {} - , email = sanitize(params.query.email) - - db.get(email, function(err, value) { - if ((err && err.type == 'NotFoundError') || ! value.verified) { - - console.log('got email:', params.query) - - obj.token = rn() - obj.verified = false - obj.events = { paris: params.query.paris ? true : false } - obj.trace = ip(req) - - db.put(email, obj, function(err) { - if (err) return error(err) - - // db write OK.. - var url = config.host +'/confirm' - , qstr = '?email='+ email +'&token='+ obj.token - , link = url + qstr +'\n\n' - , opts = { - from : config.email.from - , to : email - , subject: config.email.subject - , text : config.email.bodyText.replace(/\%link\%/, link) - } - - mg.sendText( - opts.from - , email - , opts.subject - , opts.text - , {} - , function(err) { - if (err) console.log('Guru meditation: ' + err); - else{ - res.statusCode = 302 - res.setHeader('Location', '/') - console.log('email sent..', opts)} - return res.end() - }); - - - - - }) - - } else { - error('already verified: '+ email) - } - }) - - } else { - error('invalid input: '+ JSON.stringify(params.query)) - } - } -} - diff --git a/src/ip-trace.js b/src/ip-trace.js deleted file mode 100644 index f34bbe0..0000000 --- a/src/ip-trace.js +++ /dev/null @@ -1,8 +0,0 @@ -module.exports = function(req) { - if (req.headers['x-forwarded-for']) { - return req.headers['x-forwarded-for'].split(',') - } else { - return [ req.connection.remoteAddress ] - } -} - diff --git a/src/mail.js b/src/mail.js deleted file mode 100644 index e69de29..0000000 diff --git a/src/rng.js b/src/rng.js deleted file mode 100644 index d3e8684..0000000 --- a/src/rng.js +++ /dev/null @@ -1,20 +0,0 @@ -module.exports = function() { - var crypto = require('crypto') - - function rng_Base64(len) { - return crypto.randomBytes(Math.ceil(len * 3 / 4)) - .toString('base64') - .slice(0, len) - .replace(/\+/g, '0') - .replace(/\//g, '0') - } - - return [ rng_Base64(8) - , rng_Base64(4) - , rng_Base64(4) - , rng_Base64(4) - , rng_Base64(12) - ] - .join('-') -} - From 4c0224576c12bb6d50297738f40638d5a55f026e Mon Sep 17 00:00:00 2001 From: joates Date: Mon, 12 Jan 2015 20:43:13 +0000 Subject: [PATCH 2/5] remove unused scripts & deps --- package.json | 21 +++------------------ 1 file changed, 3 insertions(+), 18 deletions(-) diff --git a/package.json b/package.json index d3209b5..afcd3e7 100644 --- a/package.json +++ b/package.json @@ -3,18 +3,14 @@ "version": "1.2.0", "description": "website for the squatConf conference", "main": "server.js", - "scripts": { - "start": "echo -n 'building.. '; npm run build && node server.js", - "build": "browserify src/email-client.js -o html/assets/js/email.js", - "test": "echo \"Error: no test specified\" && exit 1" - }, "repository": { "type": "git", "url": "https://github.com/squatconf/website.git" }, "keywords": [ "squatconf", - "web" + "www", + "website" ], "author": "squatconf", "license": "ISC", @@ -23,17 +19,6 @@ }, "homepage": "https://github.com/squatconf/website", "dependencies": { - "browserify": "^5.11.2", - "domready": "^1.0.7", - "ecstatic": "^0.5.4", - "level": "^0.18.0", - "load-svg": "^1.0.0", - "mailcomposer": "^0.2.12", - "mailgun-js": "^0.6.7", - "rc": "^0.5.1", - "stack": "^0.1.0", - "tiny-route": "^2.1.1", - "valid-email": "0.0.1", - "xss-escape": "0.0.5" + "ecstatic": "^0.5.8" } } From 15e70378073d566a0f5ff9fbbcf07dde55a93ca0 Mon Sep 17 00:00:00 2001 From: joates Date: Mon, 12 Jan 2015 20:53:28 +0000 Subject: [PATCH 3/5] config is not used --- config-sample.js | 17 ----------------- 1 file changed, 17 deletions(-) delete mode 100644 config-sample.js diff --git a/config-sample.js b/config-sample.js deleted file mode 100644 index f78ed8f..0000000 --- a/config-sample.js +++ /dev/null @@ -1,17 +0,0 @@ -var join = require('path').join - , name = 'squatconf' - , cwd = process.cwd() - -module.exports = require('rc')(name, { - db_opts: { valueEncoding: 'json' } - , db_path: join(cwd, 'db', name) - , port: 8000 - , host: 'http://test.squatconf.eu' - , mailjetKey: 'key-...' - , email: { - from : 'no-reply@squatconf.eu' - , subject : 'Hello, everyone is welcome at SquatConf..' - , bodyText : 'Please verify that you wish to signup by following this link\n%link%\nYou can ignore this message if you DID NOT request to signup at our website\nhttp://squatconf.eu\n\nThe next event is in Paris, we hope to see you there !!\n\nKind regards from the team,\nSquatConf Paris 2014' - } -}) - From 953b885ab575bd14f275e365c57909cee2bcc8bc Mon Sep 17 00:00:00 2001 From: joates Date: Mon, 12 Jan 2015 20:57:09 +0000 Subject: [PATCH 4/5] config instructions not required --- README.md | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/README.md b/README.md index 5ff5d86..8c4c534 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,3 @@ # SquatConf website. -```cp config-sample.js config.js``` - -edit congif with the mailgun api key - -```npm i && npm start``` \ No newline at end of file +```npm install && npm start``` From 992954e2768ea998b7aba1db86a916d9e87f5457 Mon Sep 17 00:00:00 2001 From: joates Date: Mon, 12 Jan 2015 21:00:05 +0000 Subject: [PATCH 5/5] remove unused file --- public/verified.html | 85 -------------------------------------------- 1 file changed, 85 deletions(-) delete mode 100644 public/verified.html diff --git a/public/verified.html b/public/verified.html deleted file mode 100644 index 656b4f2..0000000 --- a/public/verified.html +++ /dev/null @@ -1,85 +0,0 @@ - - - - - SquatConf.386 - - - - - - - - - - -
-
- -
- -
- - - -
- -
-

You're verified

-

-

Thanks for completing our signup process

-
- Go back -
-
-
-
- - - - - -