aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2015-11-11 13:25:35 -0800
committerAdam Soltys <[email protected]>2015-11-11 13:25:35 -0800
commitc1cd55151fdea2bd80e27a6a9dfc905a243dd379 (patch)
treece8f86cf2f247582b133c26d0f728a102d235dd3
parent59528d7c0a301c805b03bf77492e489c0e723e79 (diff)
downloadcoinos-server-c1cd55151fdea2bd80e27a6a9dfc905a243dd379.tar.gz
coinos-server-c1cd55151fdea2bd80e27a6a9dfc905a243dd379.zip
Fetch remote image files and store locally
-rw-r--r--.gitignore2
-rw-r--r--public/assets/img/logos/yummyyards.pngbin0 -> 22968 bytes
-rw-r--r--public/js/calculator.coffee4
-rw-r--r--routes/users.js17
-rw-r--r--src/routes/users.coffee10
5 files changed, 29 insertions, 4 deletions
diff --git a/.gitignore b/.gitignore
index 2391f700..ca800b2e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,3 @@
-public/bitcoins.pdf
node_modules
builtAssets
database.json
@@ -9,3 +8,4 @@ src/config.coffee
config.js
passenger*
tmp
+public/img/assets/logos
diff --git a/public/assets/img/logos/yummyyards.png b/public/assets/img/logos/yummyyards.png
new file mode 100644
index 00000000..e8f59c9f
--- /dev/null
+++ b/public/assets/img/logos/yummyyards.png
Binary files differ
diff --git a/public/js/calculator.coffee b/public/js/calculator.coffee
index cc2dcece..cc45cae5 100644
--- a/public/js/calculator.coffee
+++ b/public/js/calculator.coffee
@@ -59,7 +59,9 @@ setup = ->
$('#title').html("<a href='/#{g.user.username}/edit'>#{g.user.title}</a>").show()
if g.user.logo
- $('#logo').attr('src', g.user.logo).show()
+ ext = g.user.logo.substr(g.user.logo.length - 3)
+ src = "/assets/img/logos/#{g.user.username}.#{ext}"
+ $('#logo').attr('src', src).show()
getAddress()
diff --git a/routes/users.js b/routes/users.js
index c5e0f0ee..28b89797 100644
--- a/routes/users.js
+++ b/routes/users.js
@@ -1,5 +1,5 @@
(function() {
- var bcrypt, config, db;
+ var bcrypt, config, db, fs, request;
db = require("../redis");
@@ -7,6 +7,10 @@
bcrypt = require('bcrypt');
+ fs = require('fs');
+
+ request = require('request');
+
module.exports = function(sessions) {
return {
exists: function(req, res) {
@@ -34,7 +38,7 @@
},
show: function(req, res) {
return db.hgetall("user:" + req.params.user, function(err, obj) {
- var options;
+ var ext, options, path;
if (obj) {
options = {
user: req.params.user,
@@ -50,6 +54,15 @@
if (req.query.verified != null) {
options.verified = true;
}
+ if (obj.logo.length > 3) {
+ ext = obj.logo.substr(obj.logo.length - 3);
+ path = "public/assets/img/logos/" + obj.username + "." + ext;
+ fs.lstat(path, function(err, stats) {
+ if ((ext === 'jpg' || ext === 'png' || ext === 'gif') && (err || !stats.isFile())) {
+ return request("" + obj.logo).pipe(fs.createWriteStream(path));
+ }
+ });
+ }
res.render('users/show', options);
return delete req.session.verified;
} else {
diff --git a/src/routes/users.coffee b/src/routes/users.coffee
index d3ecabaf..b1e4fd9a 100644
--- a/src/routes/users.coffee
+++ b/src/routes/users.coffee
@@ -1,6 +1,8 @@
db = require("../redis")
config = require("../config")
bcrypt = require('bcrypt')
+fs = require('fs')
+request = require('request')
module.exports = (sessions) ->
exists: (req, res) ->
@@ -33,6 +35,14 @@ module.exports = (sessions) ->
if req.query.verified?
options.verified = true
+ if obj.logo.length > 3
+ ext = obj.logo.substr(obj.logo.length - 3)
+ path = "public/assets/img/logos/#{obj.username}.#{ext}"
+ fs.lstat(path, (err, stats) ->
+ if ext in ['jpg', 'png', 'gif'] and (err or not stats.isFile())
+ request("#{obj.logo}").pipe(fs.createWriteStream(path))
+ )
+
res.render('users/show', options)
delete req.session.verified
else