diff --git a/lib/cloudfunc.js b/lib/cloudfunc.js index 9ea9cf02..e3d2cd59 100644 --- a/lib/cloudfunc.js +++ b/lib/cloudfunc.js @@ -3,31 +3,36 @@ var CloudFunc, exports; (function(){ "use strict"; - /** Модуль, содержащий функции, которые будут работать - * и на клиенте и на сервере + /** + * Модуль, содержащий функции, которые + * будут работать и на клиенте и на сервере */ - CloudFunc = { - /* Путь с которым мы сейчас работаем */ - Path : '', - /* КОНСТАНТЫ (общие для клиента и сервера)*/ - /* название программы */ - NAME : 'Cloud Commander', - /* если в ссылке будет эта строка - - * в браузере js отключен - */ - NOJS : '/no-js', - FS : '/fs', - /* название css-класа кнопки обновления файловой структуры*/ - REFRESHICON : 'refresh-icon', - /* id панелей с файлами */ - LEFTPANEL : 'left', - RIGHTPANEL : 'right', - /* length of longest - * file name - */ - SHORTNAMELENGTH : 16 -}; + CloudFunc = exports || {}; + + /* Путь с которым мы сейчас работаем */ + CloudFunc.Path = ''; + + /* КОНСТАНТЫ (общие для клиента и сервера)*/ + + /* название программы */ + CloudFunc.NAME = 'Cloud Commander'; + + /* если в ссылке будет эта строка - в браузере js отключен */ + CloudFunc.NOJS = '/no-js'; + CloudFunc.FS = '/fs'; + + /* название css-класа кнопки обновления файловой структуры*/ + CloudFunc.REFRESHICON = 'refresh-icon'; + + /* id панелей с файлами */ + CloudFunc.LEFTPANEL = 'left'; + CloudFunc.RIGHTPANEL = 'right'; + + /* length of longest + * file name + */ + CloudFunc.SHORTNAMELENGTH = 16; /** @@ -483,21 +488,4 @@ var CloudFunc, exports; return lFileTable; }; - - /* - * Если мы на стороне сервера - - * прописываем экспортируемые функции - */ - if(exports){ - /* экспортируемые функции */ - exports.checkExtension = CloudFunc.checkExtension; - exports.buildFromJSON = CloudFunc.buildFromJSON; - exports.setTitle = CloudFunc.setTitle; - exports.getUserUIDsAndNames = CloudFunc.getUserUIDsAndNames; - - /* константы*/ - exports.Name = CloudFunc.NAME; - exports.NOJS = CloudFunc.NOJS; - exports.FS = CloudFunc.FS; - } })(); \ No newline at end of file diff --git a/lib/server/srvfunc.js b/lib/server/srvfunc.js index 577dc137..07f11504 100644 --- a/lib/server/srvfunc.js +++ b/lib/server/srvfunc.js @@ -1,42 +1,25 @@ -"strict mode"; -/** - * function do save exec - */ -exports.exec = function(pCallBackk){ - if( typeof pCallBackk === 'function') - pCallBackk(); - else console.log('error in ' + pCallBackk); -}; - -/** - * function do safe require of needed module - * @param pModule - */ -exports.require = function(pSrc){ - var lModule, +(function(){ + "strict mode"; - lError = exports.tryCatch(function(){ - lModule = require(pSrc); - }); + var DIR = process.cwd() + '/', + LIBDIR = DIR + 'lib/', + SRVDIR = LIBDIR + 'server/', + Util = require(LIBDIR + 'util'); - if(lError) - console.log(lError); - - return lModule; -}; - -/** - * function execute param function in - * try...catch block - * - * @param pCallBack - */ -exports.tryCatch = function(pCallBack){ - var lRet; - try{ - pCallBack(); - } - catch(pError){lRet = pError;} - - return lRet; -}; \ No newline at end of file + /** + * function do safe require of needed module + * @param pModule + */ + exports.require = function srvrequire(pSrc){ + var lModule, + + lError = Util.tryCatch(function(){ + lModule = require(pSrc); + }); + + if(lError) + console.log(lError); + + return lModule; + }; +}()); \ No newline at end of file diff --git a/lib/util.js b/lib/util.js new file mode 100644 index 00000000..b1cf889f --- /dev/null +++ b/lib/util.js @@ -0,0 +1,115 @@ +var Util, exports; + +(function(){ + "use strict"; + + Util = exports || {}; + + /* STRINGS */ + /** + * function check is strings are equal + * @param pStr1 + * @param pStr2 + */ + Util.strCmp = function (pStr1, pStr2){ + return this.isContainStr(pStr1, pStr2) && + pStr1.length == pStr2.length; + }; + + /** + * function returns is pStr1 contains pStr2 + * @param pStr1 + * @param pStr2 + */ + + Util.isContainStr = function(pStr1, pStr2){ + return pStr1 && + pStr2 && + pStr1.indexOf(pStr2) >= 0; + }; + + /** + * function remove substring from string + * @param pStr + * @param pSubStr + */ + Util.removeStr = function(pStr, pSubStr){ + return pStr.replace(pSubStr,''); + }; + + /** + * functions check is pVarible is array + * @param pVarible + */ + Util.isArray = function(pVarible){ + return pVarible instanceof Array; + }; + + /** + * functions check is pVarible is boolean + * @param pVarible + */ + Util.isBoolean = function(pVarible){ + return Util.isType(pVarible, 'boolean'); + }; + + /** + * functions check is pVarible is object + * @param pVarible + */ + Util.isObject = function(pVarible){ + return Util.isType(pVarible, 'object'); + }; + /** + * functions check is pVarible is string + * @param pVarible + */ + Util.isString = function(pVarible){ + return Util.isType(pVarible, 'string'); + }; + /** + * functions check is pVarible is function + * @param pVarible + */ + Util.isFunction = function(pVarible){ + return Util.isType(pVarible, 'function'); + }; + /** + * functions check is pVarible is pType + * @param pVarible + * @param pType + */ + Util.isType = function(pVarible, pType){ + return typeof pVarible === pType; + }; + + /** + * function execute param function in + * try...catch block + * + * @param pCallBack + */ + Util.tryCatch = function(pCallBack){ + var lRet; + try{ + pCallBack(); + } + catch(pError){lRet = pError;} + + return lRet; + }; + + /** + * function do save exec + */ + Util.exec = function(pCallBackk){ + var lRet = false; + + if( typeof pCallBackk === 'function') + lRet = pCallBackk(); + else + console.log('error in ' + pCallBackk); + + return lRet; + }; +}()); \ No newline at end of file diff --git a/server.js b/server.js index d6d9becd..455f2c2c 100644 --- a/server.js +++ b/server.js @@ -677,7 +677,9 @@ CloudServer.indexReaded = function(pList){ pIndex = pIndex.toString(); - pIndex = CloudServer.indexProcessing(pIndex, pList); + + if(typeof CloudServer.indexProcessing === 'function') + pIndex = CloudServer.indexProcessing(pIndex, pList); /* * если браузер поддерживает gzip-сжатие * высылаем заголовок в зависимости от типа файла