Index: /sandbox/filemanager/inc/class.vfs_functions.inc.php
===================================================================
--- /sandbox/filemanager/inc/class.vfs_functions.inc.php	(revision 1924)
+++ /sandbox/filemanager/inc/class.vfs_functions.inc.php	(revision 1929)
@@ -87,4 +87,6 @@
 				'messages'	=> array('messages'	=> ''),
 				'comment'	=> array('comment' => ''),
+				'from'	=> array('from' => ''),
+				'fileman' => array('fileman' => ''),
 				'to'	=> array('to' => '')
 			);
@@ -104,9 +106,9 @@
 								if(is_int($varkey))
 								{
-									$temp[$varkey] = stripslashes(base64_decode(urldecode(($varvalue))));
+									$temp[$varkey] = stripslashes(base64_decode($varvalue));
 								}
 								else
 								{
-									$temp[stripslashes(base64_decode(urldecode(($varkey))))] = $varvalue;
+									$temp[stripslashes(base64_decode($varkey))] = $varvalue;
 								}
 							}
@@ -115,5 +117,5 @@
 						elseif(isset($$var))
 						{
-							$this->$var = stripslashes(base64_decode(urldecode($$var)));
+							$this->$var = stripslashes(base64_decode($$var));
 						}
 					}
@@ -244,7 +246,6 @@
 	
 		function delete(){
-			foreach($this->fileman as $filecode)
-			{
-				$filename = base64_decode($filecode);
+			foreach($this->fileman as $filename)
+			{
 				if($this->verifyLock($filename,RELATIVE_ALL) && $this->bo->vfs->rm(array(
 					'string' => $this->path.'/'.$filename,
@@ -262,7 +263,6 @@
 		}
 		function archive(){
-			foreach($this->fileman as $filecode)
-			{
-				$filename = base64_decode($filecode);
+			foreach($this->fileman as $filename)
+			{
 				if(!$this->verifyLock($filename,RELATIVE_ALL))
 				{
@@ -355,5 +355,4 @@
 			else
 			{
-				$this->from = base64_decode($this->from);
 				while(list($num, $file) = each($this->fileman))
 				{
@@ -386,5 +385,4 @@
 			else
 			{
-				$this->from = base64_decode($this->from);
 				while(list($num, $file) = each($this->fileman))
 				{
Index: /sandbox/filemanager/inc/class.uifilemanager.inc.php
===================================================================
--- /sandbox/filemanager/inc/class.uifilemanager.inc.php	(revision 1922)
+++ /sandbox/filemanager/inc/class.uifilemanager.inc.php	(revision 1929)
@@ -137,24 +137,5 @@
 					if(isset($$condvar) && ($condvar == $var || $$condvar == $condvalue))
 					{
-						if(is_array($$var))
-						{
-							$temp = array();
-							while(list($varkey, $varvalue) = each($$var))
-							{
-								if(is_int($varkey))
-								{
-									$temp[$varkey] = stripslashes(base64_decode(urldecode(($varvalue))));
-								}
-								else
-								{
-									$temp[stripslashes(base64_decode(urldecode(($varkey))))] = $varvalue;
-								}
-							}
-							$this->$var = $temp;
-						}
-						elseif(isset($$var))
-						{
-							$this->$var = stripslashes(base64_decode(urldecode($$var)));
-						}
+						$this->$var = stripslashes(base64_decode($$var));
 					}
 				}
@@ -1006,5 +987,5 @@
 				$vars[file_content]=$content;
 
-				$vars[buttonPreview]=$this->inputButton('edit_preview','edit_preview',lang('Preview %1', $this->bo->html_encode($this->fileman[$j], 1)));
+				$vars[buttonPreview]=$this->inputButton('edit_preview','edit_preview',lang('Preview %1', $this->bo->html_encode($this->fileman[0], 1)));
 				$vars[buttonSave]=$this->inputButton('edit_save','save',lang('Save %1', $this->bo->html_encode($this->filename, 1)));
 				$vars[buttonDone]=$this->inputButton('edit_save_done','ok',lang('Save %1, and go back to file listing ', $this->bo->html_encode($this->filename, 1)));
Index: /sandbox/filemanager/js/handler.js
===================================================================
--- /sandbox/filemanager/js/handler.js	(revision 1927)
+++ /sandbox/filemanager/js/handler.js	(revision 1929)
@@ -36,4 +36,6 @@
                 var nameLink = document.createElement('A');
                 var inputName = document.getElementById('input_'+returnVal[1]);
+		var trFile = inputName.parentNode.parentNode.parentNode;
+
                 nameLink.innerHTML = returnVal[2];
                 nameLink.href="./index.php?menuaction=filemanager.uifilemanager.view&file="+base64_encode(returnVal[2])+"&path="+base64_encode(currentPath);
@@ -41,9 +43,8 @@
                 nameLink.id = "name_"+returnVal[2];
 
-                /*Value da checkbox correspondente ao arquivo Ã© atualizada*/
-                inputName.parentNode.parentNode.firstChild.firstChild.value = returnVal[2];
-
                 inputName.parentNode.appendChild(nameLink);
                 inputName.parentNode.removeChild(inputName);
+		trFile.innerHTML = trFile.innerHTML.replace(returnVal[1],returnVal[2]);
+		trFile.id = trFile.id.replace(returnVal[1],returnVal[2]);
         }
         else
Index: /sandbox/filemanager/js/common_functions.js
===================================================================
--- /sandbox/filemanager/js/common_functions.js	(revision 1924)
+++ /sandbox/filemanager/js/common_functions.js	(revision 1929)
@@ -113,5 +113,5 @@
 
 function base64_encode(str) {
-	var chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
+	var chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';
 	var encoded = [];
 	var c = 0;
@@ -130,9 +130,10 @@
 		encoded[encoded.length] = chars.charAt(i3);
 	}
-	return encoded.join('');
+	var retBuff = escape(encoded.join(''));
+	return retBuff.replace(/\+/g,"%2B");
 }
 
 function base64_decode(str) {
-	var chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789/=';
+	var chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';
 	var invalid = {
 	strlen: (str.length % 4 != 0),
