From c4b83e5fb5012ac062dc078c52a46e2fcd350feb Mon Sep 17 00:00:00 2001 From: jrtechs Date: Sun, 4 Feb 2018 14:49:54 -0500 Subject: [PATCH] Started working on a downloads page --- README.md | 7 ++++++ downloads/content/1.jpg | Bin 0 -> 73682 bytes downloads/downloads.js | 51 ++++++++++++++++++++++++++++++++++++++++ server.js | 22 +++++++---------- utils/sql.js | 7 ++++++ 5 files changed, 73 insertions(+), 14 deletions(-) create mode 100644 downloads/content/1.jpg create mode 100644 downloads/downloads.js diff --git a/README.md b/README.md index a68bb84..85d96dc 100644 --- a/README.md +++ b/README.md @@ -33,6 +33,13 @@ url varchar(100) not null, primary key(post_id) ); +create table downloads( +download_id mediumint unsigned not null AUTO_INCREMENT, +url varchar(20) not null, +file varchar(20) not null, +primary key(download_id) +); + create table popular_posts( popular_post_id mediumint unsigned not null AUTO_INCREMENT, post_id mediumint unsigned not null, diff --git a/downloads/content/1.jpg b/downloads/content/1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7b11512eec5f6ded9a441ad7165fdd789cc1942b GIT binary patch literal 73682 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 literal 0 HcmV?d00001 diff --git a/downloads/downloads.js b/downloads/downloads.js new file mode 100644 index 0000000..aee0448 --- /dev/null +++ b/downloads/downloads.js @@ -0,0 +1,51 @@ +/** + Utilities is a node modules created to make tasks like + including html files easier for me programming. + */ + +const fs = require('fs'); + +var Promise = require('promise'); + +const utils = require('../utils/utils.js'); + +const sql = require('../utils/sql'); + +module.exports= + { + main: function(res, requestURL, request) + { + res.setHeader('Content-disposition', 'attachment; filename=dramaticpenguin.MOV'); + return new Promise(function(resolve, reject) + { + var urlSplit = requestURL.split("/"); + console.log(urlSplit); + if(urlSplit.length == 3 || urlSplit.length == 4) + { + sql.getDownload(urlSplit[2]).then(function(result) + { + console.log(result); + if(result.length == 1) + { + var file = './downloads/content/' + result[0].file; + res.download(file); + } + else + { + utils.print404(res).then(function() + { + resolve(); + }) + } + }); + } + else + { + utils.print404(res).then(function() + { + resolve(); + }) + } + }); + } + }; \ No newline at end of file diff --git a/server.js b/server.js index ec39400..4617c22 100644 --- a/server.js +++ b/server.js @@ -21,18 +21,7 @@ const utils = require('./utils/utils.js'); var app = express(); -// var https = require('https'); - -//var key = fs.readFileSync('private.key'); -//var cert = fs.readFileSync( 'primary.crt' ); -//var ca = fs.readFileSync( 'encryption/intermediate.crt' ); - -// var options = { -// key: key, -// cert: cert, -// ca: ca -// }; app.use(session({ secret: utils.getFileLine('../session_secret'), cookie: { maxAge: 6000000 }})); app.use(function(request, res) @@ -49,12 +38,16 @@ app.use(function(request, res) { includes.sendCSS(res, filename) } + // else if(filename.includes(/download/)) + // { + // require("./downloads/downloads.js").main(res, filename, request); + // } else { var file = ""; if(filename === '' || filename === '/') - filename = '/category/Java'; + filename = '/web-development/why-i-stopped-using-wordpress'; var urlSplit = filename.split("/"); @@ -67,15 +60,16 @@ app.use(function(request, res) else file = "./posts/posts.js"; + includes.printHeader(res).then(function() { return require(file).main(res, filename, request); }).then(function() { return includes.printFooter(res); - }).then(function() + }).catch(function(err) { - //console.log("fin"); //for debugging + console.log(err); }) } }); diff --git a/utils/sql.js b/utils/sql.js index 0d668e5..7bc6402 100644 --- a/utils/sql.js +++ b/utils/sql.js @@ -257,5 +257,12 @@ module.exports= getCategory: function(categoryId) { return fetch("select * from categories where category_id='" + categoryId + "'"); + }, + + getDownload: function(downloadURL) + { + var cleanD = sanitizer.sanitize(downloadURL); + var q = "select * from downloads where url='" + cleanD + "' limit 1"; + return fetch(q); } }; \ No newline at end of file