jqueryFileTree_sabourdin.lasso 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. <?LassoScript
  2. //
  3. // jQuery File Tree LASSO Connector
  4. //
  5. // Version 1.00
  6. //
  7. // Marc Sabourdin
  8. // CysNET (http://www.marcsabourdin.com/)
  9. // 23 May 2008
  10. //
  11. // History:
  12. //
  13. // 1.00 - released (23 May 2008)
  14. //
  15. // Output a list of files for jQuery File Tree
  16. //
  17. Encode_set:-EncodeNone;
  18. Variable:'root' = 'path_to_desired_and_Lasso_allowed_root';
  19. Variable:'_POST.dir' = (action_param:'dir');
  20. Variable:'files';
  21. if:( file_exists: ($root + $_POST.dir) )&&( File_IsDirectory:($root + $_POST.dir) );
  22. $files = (File_ListDirectory:($root + $_POST.dir));
  23. $files->(Sort);
  24. if:( $files->(Size) > 0 );
  25. output:'<ul class="jqueryFileTree" style="display: none;">';
  26. // All dirs
  27. Iterate:($files),(Local:'file');
  28. if:( file_exists:($root + $_POST.dir + #file) )&&( #file != '.' )&&( #file != '..' )&&( File_IsDirectory:($root + $_POST.dir + #file) );
  29. output:'<li class="directory collapsed"><a href="#" rel="' + (String_replace:($_POST.dir + #file),-Find=' ',-Replace='__') + '">' + (Encode_HTML:(#file)) + '</a></li>';
  30. /if;
  31. /Iterate;
  32. // All files
  33. Local:'ext';
  34. Iterate:($files),(Local:'file');
  35. if:( file_exists:($root + $_POST.dir + #file) )&&( #file != '.' )&&( #file != '..' )&&( (File_IsDirectory:($root + $_POST.dir + #file))==false );
  36. #ext = (#file)->(Split:'.')->Last;
  37. output:'<li class="file ext_' + (#ext) + '"><a href="' + ($_POST.dir + #file) + '">' + (Encode_HTML:(#file)) + '</a></li>';
  38. /if;
  39. /Iterate;
  40. output:'</ul>';
  41. /if;
  42. /if;
  43. /Encode_set;
  44. ?>