From 5796140f5817f4302075af6a8cdd16ff0ab862bc Mon Sep 17 00:00:00 2001 From: Baris Soner Usakli <barisusakli@gmail.com> Date: Mon, 13 May 2013 13:30:33 -0400 Subject: [PATCH] image upload changes --- config.default.js | 7 ++ public/templates/accountedit.tpl | 168 +++++++++++++++---------------- src/webserver.js | 9 +- 3 files changed, 95 insertions(+), 89 deletions(-) diff --git a/config.default.js b/config.default.js index 0edac9d7d6..69c0d7a9c0 100644 --- a/config.default.js +++ b/config.default.js @@ -4,6 +4,13 @@ var config = { // "base_url" is expected to be a publically accessible URL to your NodeBB instance (Default base_url: 'http://localhost', port: '4567') "base_url": "http://localhost", + + // public url for uploaded files + "upload_url": "http://dev.domain.com/uploads/", + + // relative path for uploads + "upload_path": "/uploads/", + "use_port": true, "port": 4567, diff --git a/public/templates/accountedit.tpl b/public/templates/accountedit.tpl index 4909ae4d5b..92bc621b3a 100644 --- a/public/templates/accountedit.tpl +++ b/public/templates/accountedit.tpl @@ -198,10 +198,7 @@ $(document).ready(function() { hideAlerts(); $('#alert-error').text(message).show(); } -}); - -(function() { function submitUserData() { var userData = { @@ -234,103 +231,102 @@ $(document).ready(function() { } ); } - - - $(document).ready(function(){ - - var selectedImageType = ''; + - $('#submitBtn').on('click',function(){ + var selectedImageType = ''; + + $('#submitBtn').on('click',function(){ - submitUserData(); + submitUserData(); - }); - - - function updateImages() { - - var currentPicture = $('#user-current-picture').attr('src'); - var gravatarPicture = $('#user-data-gravatarpicture').html(); - var uploadedPicture = $('#user-data-uploadedpicture').html(); + }); + + + function updateImages() { + + var currentPicture = $('#user-current-picture').attr('src'); + var gravatarPicture = $('#user-data-gravatarpicture').html(); + var uploadedPicture = $('#user-data-uploadedpicture').html(); - if(gravatarPicture) { - $('#user-gravatar-picture').attr('src', gravatarPicture); - $('#gravatar-box').show(); - } - else - $('#gravatar-box').hide(); + if(gravatarPicture) { + $('#user-gravatar-picture').attr('src', gravatarPicture); + $('#gravatar-box').show(); + } + else + $('#gravatar-box').hide(); - if(uploadedPicture) { - $('#user-uploaded-picture').attr('src', uploadedPicture); - $('#uploaded-box').show(); - } - else - $('#uploaded-box').hide(); - - - if(currentPicture == gravatarPicture) - $('#gravatar-box .icon-ok').show(); - else - $('#gravatar-box .icon-ok').hide(); - - if(currentPicture == uploadedPicture) - $('#uploaded-box .icon-ok').show(); - else - $('#uploaded-box .icon-ok').hide(); + if(uploadedPicture) { + $('#user-uploaded-picture').attr('src', uploadedPicture); + $('#uploaded-box').show(); } - - - $('#changePictureBtn').on('click', function() { - selectedImageType = ''; - updateImages(); + else + $('#uploaded-box').hide(); - $('#change-picture-modal').modal('show'); - return false; - }); - - $('#gravatar-box').on('click', function(){ - $('#gravatar-box .icon-ok').show(); + if(currentPicture == gravatarPicture) + $('#gravatar-box .icon-ok').show(); + else + $('#gravatar-box .icon-ok').hide(); + + if(currentPicture == uploadedPicture) + $('#uploaded-box .icon-ok').show(); + else $('#uploaded-box .icon-ok').hide(); - selectedImageType = 'gravatar'; - }); + } + + + $('#changePictureBtn').on('click', function() { + selectedImageType = ''; + updateImages(); - $('#uploaded-box').on('click', function(){ - $('#gravatar-box .icon-ok').hide(); - $('#uploaded-box .icon-ok').show(); - selectedImageType = 'uploaded'; - }); + $('#change-picture-modal').modal('show'); - $('#savePictureChangesBtn').on('click', function() { - $('#change-picture-modal').modal('hide'); + return false; + }); + + $('#gravatar-box').on('click', function(){ + $('#gravatar-box .icon-ok').show(); + $('#uploaded-box .icon-ok').hide(); + selectedImageType = 'gravatar'; + }); + + $('#uploaded-box').on('click', function(){ + $('#gravatar-box .icon-ok').hide(); + $('#uploaded-box .icon-ok').show(); + selectedImageType = 'uploaded'; + }); + + $('#savePictureChangesBtn').on('click', function() { + $('#change-picture-modal').modal('hide'); - if(selectedImageType) { - changeUserPicture(selectedImageType); - - if(selectedImageType == 'gravatar') - $('#user-current-picture').attr('src', $('#user-data-gravatarpicture').html()); - else if(selectedImageType == 'uploaded') - $('#user-current-picture').attr('src', $('#user-data-uploadedpicture').html()); - } + if(selectedImageType) { + changeUserPicture(selectedImageType); - }); + if(selectedImageType == 'gravatar') + $('#user-current-picture').attr('src', $('#user-data-gravatarpicture').html()); + else if(selectedImageType == 'uploaded') + $('#user-current-picture').attr('src', $('#user-data-uploadedpicture').html()); + } - $('#upload-picture-modal').on('hide', function() { - $('#userPhotoInput').val(''); - }); + }); + + $('#upload-picture-modal').on('hide', function() { + $('#userPhotoInput').val(''); + }); + + $('#uploadPictureBtn').on('click', function(){ + + $('#change-picture-modal').modal('hide'); + $('#upload-picture-modal').modal('show'); + hideAlerts(); - $('#uploadPictureBtn').on('click', function(){ - - $('#change-picture-modal').modal('hide'); - $('#upload-picture-modal').modal('show'); - - $('#pictureUploadSubmitBtn').on('click', function() { - $('#uploadForm').submit(); - }); - - return false; + $('#pictureUploadSubmitBtn').on('click', function() { + $('#uploadForm').submit(); }); - - }); -}()); + + return false; + }); + + +}); </script> \ No newline at end of file diff --git a/src/webserver.js b/src/webserver.js index afa17cf6fa..55e8387e02 100644 --- a/src/webserver.js +++ b/src/webserver.js @@ -241,11 +241,14 @@ var express = require('express'), return; } - var uploadPath = config['upload_path'] + uid + '-' + filename; + filename = uid + '-' + filename + var uploadPath = config.upload_path + filename; + console.log(uploadPath); + fs.rename( tempPath, - global.configuration['ROOT_DIRECTORY']+ uploadPath, + global.configuration['ROOT_DIRECTORY'] + uploadPath, function(error) { if(error) { res.send({ @@ -254,7 +257,7 @@ var express = require('express'), return; } - var imageUrl = config.base_url + config.install_path + uploadPath; + var imageUrl = config.upload_url + filename; res.send({ path: imageUrl