listFolder.js 1.2 KB

123456789101112131415161718192021222324252627282930313233
  1. var loadedfile = requirelib("filelib");
  2. if (!loadedfile) {
  3. console.log("Failed to load lib filelib, terminated.");
  4. }
  5. var folderList = filelib.glob("user:/Photo/*");
  6. var arr = [];
  7. //add main folder
  8. var img = ChooseFirstImage("user:/Photo/");
  9. arr.push({ VPath: "user:/Photo/", Foldername: "Root folder", img: img })
  10. for (var i = 0; i < folderList.length; i++) {
  11. var fldname = folderList[i].split("/")
  12. if (filelib.isDir(folderList[i]) && folderList[i] != "user:/Photo/thumbnails" && fldname[fldname.length - 1].substring(0, 1) != ".") {
  13. var img = ChooseFirstImage(folderList[i]);
  14. arr.push({ VPath: folderList[i] + "/", Foldername: folderList[i].split("/").pop(), img: img })
  15. }
  16. }
  17. function ChooseFirstImage(folder) {
  18. var fileList = filelib.glob(folder + "/*.*");
  19. for (var i = 0; i < fileList.length; i++) {
  20. if (!filelib.isDir(fileList[i])) { //Well I don't had isFile, then use !isDir have same effect.
  21. var subFilename = fileList[i].split(".").pop().toLowerCase();
  22. if (["jpg", "jpeg", "gif", "png"].indexOf(subFilename) >= 0) {
  23. return "/media/?file=" + fileList[i];
  24. }
  25. }
  26. }
  27. return "/Photo/img/desktop_icon.png";
  28. }
  29. sendJSONResp(JSON.stringify(arr))