mirror of
https://github.com/coderaiser/cloudcmd.git
synced 2026-01-23 10:45:47 +00:00
refactor(cloudfunc) getSymbolicPermissions
This commit is contained in:
parent
e7c59aaa68
commit
b713bf5c87
1 changed files with 41 additions and 39 deletions
|
|
@ -111,6 +111,8 @@ var Util;
|
|||
* к файлу в 8-миричной системе
|
||||
*/
|
||||
this.getSymbolicPermissions = function(pPerm_s) {
|
||||
var lType, lOwner, lGroup, lAll,
|
||||
lPermissions = pPerm_s;
|
||||
/*
|
||||
S_IRUSR 0000400 protection: readable by owner
|
||||
S_IWUSR 0000200 writable by owner
|
||||
|
|
@ -122,47 +124,46 @@ var Util;
|
|||
S_IWOTH 0000002 writable by all
|
||||
S_IXOTH 0000001 executable by all
|
||||
*/
|
||||
if(!pPerm_s) return;
|
||||
|
||||
/* тип файла */
|
||||
var lType = pPerm_s.charAt(0);
|
||||
|
||||
switch (lType-0) {
|
||||
case 1: /* обычный файл */
|
||||
lType='-';
|
||||
break;
|
||||
case 2: /* байт-ориентированное (символьное) устройство*/
|
||||
lType='c';
|
||||
break;
|
||||
case 4: /* каталог */
|
||||
lType='d';
|
||||
break;
|
||||
default:
|
||||
lType='-';
|
||||
}
|
||||
|
||||
/* оставляем последние 3 символа*/
|
||||
pPerm_s = pPerm_s.length > 5 ? pPerm_s.substr(3) : pPerm_s.substr(2);
|
||||
|
||||
/* Рекомендации гугла советуют вместо string[3]
|
||||
* использовать string.charAt(3)
|
||||
*/
|
||||
/*
|
||||
http://google-styleguide.googlecode.com/svn/trunk/javascriptguide.xml?showone=Standards_features#Standards_features
|
||||
if (pPerm_s) {
|
||||
/* тип файла */
|
||||
lType = pPerm_s.charAt(0);
|
||||
|
||||
Always preferred over non-standards featuresFor
|
||||
maximum portability and compatibility, always
|
||||
prefer standards features over non-standards
|
||||
features (e.g., string.charAt(3) over string[3]
|
||||
and element access with DOM functions instead
|
||||
of using an application-specific shorthand).
|
||||
*/
|
||||
/* Переводим в двоичную систему */
|
||||
var lOwner = ( pPerm_s[0] - 0 ).toString(2),
|
||||
switch (lType-0) {
|
||||
case 1: /* обычный файл */
|
||||
lType='-';
|
||||
break;
|
||||
case 2: /* байт-ориентированное (символьное) устройство*/
|
||||
lType='c';
|
||||
break;
|
||||
case 4: /* каталог */
|
||||
lType='d';
|
||||
break;
|
||||
default:
|
||||
lType='-';
|
||||
}
|
||||
|
||||
/* оставляем последние 3 символа*/
|
||||
pPerm_s = pPerm_s.length > 5 ? pPerm_s.substr(3) : pPerm_s.substr(2);
|
||||
|
||||
/* Рекомендации гугла советуют вместо string[3]
|
||||
* использовать string.charAt(3)
|
||||
*/
|
||||
/*
|
||||
http://google-styleguide.googlecode.com/svn/trunk/javascriptguide.xml?showone=Standards_features#Standards_features
|
||||
|
||||
Always preferred over non-standards featuresFor
|
||||
maximum portability and compatibility, always
|
||||
prefer standards features over non-standards
|
||||
features (e.g., string.charAt(3) over string[3]
|
||||
and element access with DOM functions instead
|
||||
of using an application-specific shorthand).
|
||||
*/
|
||||
/* Переводим в двоичную систему */
|
||||
lOwner = ( pPerm_s[0] - 0 ).toString(2),
|
||||
lGroup = ( pPerm_s[1] - 0 ).toString(2),
|
||||
lAll = ( pPerm_s[2] - 0 ).toString(2),
|
||||
|
||||
/* переводим в символьную систему*/
|
||||
|
||||
/* переводим в символьную систему*/
|
||||
lPermissions =
|
||||
( lOwner[0] - 0 > 0 ? 'r' : '-' ) +
|
||||
( lOwner[1] - 0 > 0 ? 'w' : '-' ) +
|
||||
|
|
@ -175,7 +176,8 @@ var Util;
|
|||
( lAll[0]- 0 > 0 ? 'r' : '-' ) +
|
||||
( lAll[1]- 0 > 0 ? 'w' : '-' ) +
|
||||
( lAll[2]- 0 > 0 ? 'x' : '-' );
|
||||
|
||||
}
|
||||
|
||||
return lPermissions;
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue