2013-01-17 94 views
0

有沒有人知道一種方法來禁用或以某種方式修改elFinder中的「打開」功能?在elFinder中禁用「打開」

我在ASP.NET MVC站點中使用了它,並且爲文件權限和whatnot添加了額外的服務器端過濾。因此,用戶不能直接訪問文件,所有內容都必須通過提供elFinder的服務器端組件。因此,每當有人試圖直接打開一個文件,他們會得到一個404響應。

有幾個受此UX件:

  • 雙擊文件 - 我能夠覆蓋dblclick elFilder事件,只是return false。但是,這帶來了不希望的效果,即無法雙擊文件夾來打開它們。
  • 單擊「打開」菜單項 - 我嘗試從commands配置中刪除'open'選項,但該選項仍然存在。許多其他項目都是可移動的(重命名,上傳,除了在這種情況下我拒絕用戶的只讀訪問以外的任何其他項目),但是這不是由於某種原因。
  • 單擊「信息」彈出窗口中的鏈接。不知道如何解決這個問題。也許用一些模板定製「信息」彈出窗口?

有沒有人遇到過這個問題,並提出任何新穎的解決方案?我並不反對修改elFinder的實際JavaScript作爲最後的手段(如果我想要升級elFinder,這會使操作更加痛苦)。

回答

2

另一種方式來增加getfilecallback如下:

$( '#發現者')elfinder({

url : 'php/connector.php', 
    getFileCallback : function(files, fm) { 
      return false; 
    } 

});

+0

我_really_喜歡這個選項。它不需要修改工具,所以升級將是無縫的。這是一個支持的選項(顯然,我錯過了)。最重要的是,'files'和'fm'給了我所需要的所有信息,以完全不同的方式做出有意義的迴應,這是我的下一個目標。謝謝! – David

0

複製JS的open.js文件/命令子目錄,並將其粘貼在任何地方,然後將其包含在HTML文件。現在編輯複製open.js上線66文件後:

如果(file.read!){

return dfrd.reject(['errOpen', file.name, 'errPerm']); 

}

,並在這兒:

return false;