From 3ead445d702aa96c6a4c6920fbec58150107bd3b Mon Sep 17 00:00:00 2001 From: gnh1201 Date: Thu, 26 Nov 2020 13:46:44 +0900 Subject: [PATCH] fix --- lib/cookie.js | 43 ++++++++ lib/file.js | 274 +++++++++++++--------------------------------- lib/winservice.js | 2 +- 3 files changed, 121 insertions(+), 198 deletions(-) create mode 100644 lib/cookie.js diff --git a/lib/cookie.js b/lib/cookie.js new file mode 100644 index 0000000..ff3f4e8 --- /dev/null +++ b/lib/cookie.js @@ -0,0 +1,43 @@ +var CookieObject = function() { + this.expireDays = 90; + + this.setExpireDays = function(days) { + this.expireDays = days; + return this; + }; + + this.isEnabled = function() { + return (typeof(document) !== "undefined" && typeof(document.cookie) !== "undefined"); + }; + + this.add = function(key, value) { + if (this.isEnabled()) { + var todayDate = new Date(); + todayDate.setDate(todayDate.getDate() + expiredays); + document.cookie = key + "=" + escape(value) + "; path=/; expires=" + todayDate.toGMTString() + ";" + } else { + console.warn("CookieObject.add() -> Cookie does not supported on this environment"); + } + }; + + this.get = function(key) { + if (this.isEnabled()) { + var result = null; + var cookie = document.cookie.split(';'); + cookie.some(function (item) { + // 공백을 제거 + item = item.replace(' ', ''); + + var dic = item.split('='); + + if (key === dic[0]) { + result = dic[1]; + return true; // break; + } + }); + return result; + } else { + console.warn("CookieObject.add() -> Cookie does not supported on this environment"); + } + }; +}; \ No newline at end of file diff --git a/lib/file.js b/lib/file.js index 9084ebb..2d37695 100644 --- a/lib/file.js +++ b/lib/file.js @@ -7,14 +7,55 @@ // ///////////////////////////////////////////////////////////////////////////////// -var LIB = require("lib/std"); +var LIB = require('lib/std'); ///////////////////////////////////////////////////////////////////////////////// -// readFile +// Private APIs / Utility functions +///////////////////////////////////////////////////////////////////////////////// + +exports.VERSIONINFO = "File Lib (file.js) version 0.2"; +exports.global = global; +exports.require = global.require; + +///////////////////////////////////////////////////////////////////////////////// +// exports.fileExists +///////////////////////////////////////////////////////////////////////////////// + +exports.fileExists = function(FN) { + var FSO = CreateObject("Scripting.FileSystemObject"); + var exists = FSO.FileExists(FN); + FSO = null; + return exists; +}; + +///////////////////////////////////////////////////////////////////////////////// +// exports.folderExists +///////////////////////////////////////////////////////////////////////////////// + +exports.folderExists = function(FN) { + var FSO = CreateObject("Scripting.FileSystemObject"); + var exists = FSO.FolderExists(FN); + FSO = null; + return exists; +}; + +///////////////////////////////////////////////////////////////////////////////// +// exports.fileGet +///////////////////////////////////////////////////////////////////////////////// + +exports.fileGet = function(FN) { + var FSO = CreateObject("Scripting.FileSystemObject"); + var file = FSO.GetFile(FN); + FSO = null; + return file; +}; + +///////////////////////////////////////////////////////////////////////////////// +// exports.readFile // Read the conents of the pass filename and return as a string ///////////////////////////////////////////////////////////////////////////////// -var readFile = function(FN, charset) { +exports.readFile = function(FN, charset) { if(typeof(charset) === "undefined") { var FSO = CreateObject("Scripting.FileSystemObject"); var T = null; @@ -30,27 +71,22 @@ var readFile = function(FN, charset) { FSO = null; return T; } else { - try { - var fsT = CreateObject("ADODB.Stream"); - var T = null; - fsT.CharSet = charset; - fsT.Open(); - fsT.LoadFromFile(FN); - T = fsT.ReadText(); - fsT = null; - return T; - } catch (e) { - console.error("readFile -> ", e.message); - } + var fsT = CreateObject("ADODB.Stream"); + fsT.CharSet = charset; + fsT.Open(); + fsT.LoadFromFile(FN); + T = fsT.ReadText(); + fsT = null; + return T; } }; ///////////////////////////////////////////////////////////////////////////////// -// writeFile +// exports.writeFile // Write the passed content to named disk file ///////////////////////////////////////////////////////////////////////////////// -var writeFile = function(FN, content, charset) { +exports.writeFile = function(FN, content, charset) { var Stream_No_UTF8_BOM = function(objStream) { var _objStream = CreateObject("ADODB.Stream"); _objStream.Type = 1; @@ -98,193 +134,37 @@ var writeFile = function(FN, content, charset) { return ok; }; -var FileObject = function() { - this.interfaces = null; - this.interface = null; - this.filename = null; - this.charset = "utf-8"; - this.isExists = false; - this.isFile = false; - this.isDirectory = false; - - this.setInterface = function(interfaceName) { - this.interface = this.interfaces[interfaceName]; - return this; - }; - - this.setCharset = function(charset) { - this.charset = charset; - return this; - }; - - this.create = function() { - this.interfaces = { - fso: CreateObject("Scripting.FileSystemObject"), - ado: CreateObject("ADODB.Stream") - }; - this.setInterface("fso"); - return this; - }; - - this.exists = function() { - try { - if (this.interface.FileExists(this.filename)) { - this.isExists = true; - this.isFile = true; - } else if (this.interface.folderExists(this.filename)) { - this.isExists = true; - this.isDirectory = true; - } - } catch (e) { - console.error("FileObject.exists() -> ", e.message); - } - return this.isExists; - }; - - this.open = function(filename) { - this.filename = filename; - if (!this.exists()) { - console.warn("FileObject.open() -> The file or directory does not exists: " + this.filename); - } - return this; - }; - - this.getDetails = function() { - try { - if (this.isFile) { - return this.interface.GetFile(this.filename); - } else if (this.isDirectory) { - return this.interface.GetFolder(this.filename); - } - } catch (e) { - console.error("FileObject.getDetails() -> ", e.message); - } - }; - - this.remove = function() { - try { - if (this.isFile) { - return this.interface.DeleteFile(this.filename); - } else { - return this.interface.DeleteFolder(this.filename); - } - } catch (e) { - console.error("FileObject.remove() -> ", e.message); - } - }; - - this.moveTo = function(dst) { - try { - if (this.isFile) { - return this.interface.MoveFile(this.filename, dst); - } else { - return this.interface.MoveFolder(this.filename, dst); - } - } catch (e) { - console.error("FileObject.moveTo() -> ", e.message); - } - }; - - this.read = function() { - try { - if (this.isFile) { - return readFile(this.filename, this.charset); - } - } catch (e) { - console.error("FileObject.read() -> ", e.message); - } - }; - - this.write = function(content) { - try { - if (this.isFile) { - return writeFile(this.filename, content, this.charset); - } - } catch (e) { - console.error("FileObject.write() -> ", e.message); - } - }; - - this.chown = function(username) { - try { - if (this.isFile) { - //require("lib/shell").run(["cacls", this.filename, "/G", user + ":F"]); - require("lib/shell").run([ - "icacls", - "/C", - "/q", - this.filename, - "/grant", - username + ":(F)" - ]); - } else if (this.isDirectory) { - //require("lib/shell").run(["cacls", this.filename, "/G", user + ":F"]); - require("lib/shell").run([ - "icacls", - "/C", - "/t", - "/q", - this.filename, - "/grant", - username + ":(F)" - ]); - } - } catch (e) { - console.error("FileObject.chown() -> ", e.message); - } - }; - - this.mkdir = function() { - try { - if (this.isDirectory) { - return this.interface.CreateFolder(this.filename); - } - } catch (e) { - console.error("FileObject.mkdir() -> ", e.message); - } - }; - - this.close = function() { - this.interfaces.fso = null; - this.interfaces.ado = null; - this.interface = null; - }; - - this.create(); -}; - -exports.getFile = function(FN) { - return (new FileObject()).getDetails(); -}; - -exports.fileExists = function(FN) { - return (new FileObject()).open(FN).exists(); -}; - -exports.folderExists = function(FN) { - return (new FileObject()).open(FN).exists(); -}; +///////////////////////////////////////////////////////////////////////////////// +// exports.moveFile +///////////////////////////////////////////////////////////////////////////////// exports.moveFile = function(FROM, TO) { - return (new FileObject()).open(FROM).moveTo(TO); + var FSO = CreateObject("Scripting.FileSystemObject"); + var res = FSO.MoveFile(FROM, TO); + FSO = null; + return res; }; +///////////////////////////////////////////////////////////////////////////////// +// exports.createFolder +///////////////////////////////////////////////////////////////////////////////// + exports.createFolder = function(FN) { - return (new FileObject()).open(FN).mkdir(); + var FSO = CreateObject("Scripting.FileSystemObject"); + var res = FSO.CreateFolder(FN); + FSO = null; + return res; }; +///////////////////////////////////////////////////////////////////////////////// +// exports.deleteFile +///////////////////////////////////////////////////////////////////////////////// + exports.deleteFile = function(FN) { - return (new FileObject()).open(FN).remove(); + var FSO = CreateObject("Scripting.FileSystemObject"); + var res = FSO.DeleteFile(FN); + FSO = null; + return res; }; -exports.readFile = function(FN, charset) { - return (new FileObject()).setCharset(charset).open(FN).read(); -}; - -exports.writeFile = function(FN, content, charset) { - return (new FileObject()).setCharset(charset).open(FN).write(content); -}; - -exports.VERSIONINFO = "File interface (file.js) version 0.2"; -exports.global = global; -exports.require = global.require; +///////////////////////////////////////////////////////////////////////////////// \ No newline at end of file diff --git a/lib/winservice.js b/lib/winservice.js index 223a41d..5f5bfa4 100644 --- a/lib/winservice.js +++ b/lib/winservice.js @@ -21,7 +21,7 @@ exports.queryService = function(name, options) { ], state: "active", // state= {active | inactive | all} bufsize: "1024", // bufsize= - ri: "0" // ri= + ri: "0", // ri= group: "" // group= };