From f1f65d2ce1474830852b07931f025c54cbed8302 Mon Sep 17 00:00:00 2001 From: coderaiser Date: Fri, 24 Aug 2012 10:38:27 -0400 Subject: [PATCH] fixed bug with empty directorys --- ChangeLog | 3 ++ lib/cloudfunc.js | 24 ++++++------- server.js | 89 +++++++++++++++++++++++------------------------- 3 files changed, 55 insertions(+), 61 deletions(-) diff --git a/ChangeLog b/ChangeLog index 1c4838fe..af6dae63 100644 --- a/ChangeLog +++ b/ChangeLog @@ -3,6 +3,9 @@ * Changed name of menu files, fixed npm and jitsu problem with menu showing. +* Fixed bug with empty directorys. If directory +was empty, we could not go in. + 2012.08.24, Version 0.1.6 diff --git a/lib/cloudfunc.js b/lib/cloudfunc.js index 73f68f3d..45a546e6 100644 --- a/lib/cloudfunc.js +++ b/lib/cloudfunc.js @@ -323,45 +323,40 @@ CloudFunc._getFileTableHeader=function(pFileTableTitles) * [{path:'путь',size:'dir'}, * {name:'имя',size:'размер',mode:'права доступа'}] */ -CloudFunc.buildFromJSON=function(pJSON,pKeyBinded) +CloudFunc.buildFromJSON = function(pJSON, pKeyBinded) { var files; /* - * если пропарсить стандартными - * функциями нельзя - - * пробуем eval, - */ - /* * Если мы на клиенте и нет JSON - * через eval парсим. * Если-же мы на сервере, * или на клиенте всё есть * парсим стандарным методом - */ - - /* По скольку мы прописали заголовок application/json + * + * По скольку мы прописали заголовок application/json * нет необходимости его конвертировать, * но она есть, если мы вытягиваем данные из * localStorage */ - files=pJSON; + files = pJSON; + /* сохраняем путь каталога в котором мы сейчас находимся*/ - var lPath=files[0].path; + var lPath = files[0].path; /* сохраняем путь */ - CloudFunc.Path=lPath; + CloudFunc.Path = lPath; /* * Строим путь каталога в котором мы находимся * со всеми подкаталогами */ - var lHtmlPath=CloudFunc._getDirPath(lPath); + var lHtmlPath = CloudFunc._getDirPath(lPath); /* Убираем последний слэш * с пути для кнопки обновить страницу * если он есть */ - var lRefreshPath=CloudFunc.removeLastSlash(lPath); + var lRefreshPath = CloudFunc.removeLastSlash(lPath); /* путь в ссылке, который говорит * что js отключен @@ -385,6 +380,7 @@ CloudFunc.buildFromJSON=function(pJSON,pKeyBinded) var fileTableTitles = ['name','size','owner','mode']; lFileTable += CloudFunc._getFileTableHeader(fileTableTitles); + /* Если мы не в корне */ if(lPath !== '/'){ /* ссылка на верхний каталог*/ diff --git a/server.js b/server.js index b30144d8..1a5ad52b 100644 --- a/server.js +++ b/server.js @@ -534,7 +534,7 @@ CloudServer._readDir = function (pError, pFiles) DirPath += '/'; } - pFiles=pFiles.sort(); + pFiles = pFiles.sort(); var lCount = 0; var lStats = {}; @@ -542,16 +542,16 @@ CloudServer._readDir = function (pError, pFiles) * and putting it to lStats object */ var getFilesStat_f = function(pName){ - return function(pError, pStat){ - var fReturnFalse = function returnFalse(){ + return function(pError, pStat){ + var fReturnFalse = function(){ return false; }; if(pError) lStats[pName] = { - 'mode':0, - 'size':0, - 'isDirectory':fReturnFalse + 'mode':0, + 'size':0, + 'isDirectory':fReturnFalse }; else @@ -563,11 +563,13 @@ CloudServer._readDir = function (pError, pFiles) }; }; - for(var i=0;i