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