趣味のブログ - Pydio の WebDAV サーバで . から始まる隠しファイルを扱う
AjaXplorer で . で始まる隠しファイルを扱うにはファイルシステムのドライバ設定を変更するしかなかったが、Pydio に改名したバージョン 5 以降では、ユーザアカウント毎にパラメータを追加できるようになり、特定ユーザの特定リポジトリのみ . で始まる隠しファイルを扱えるようにするなんてことが可能になった。が、この設定をしたリポジトリであっても、WebDAV クライアントからは . で始まる隠しファイルが扱えないというバグがある。
このバグの修正方法は次のとおり。5.x.x/6.0.x とも同じ。
このバグの修正方法は次のとおり。5.x.x/6.0.x とも同じ。
バグ修正の元ネタはここ。ただし、ここに掲載されているコードもそのままでは動作しないので、注意が必要。
https://pyd.io/f/topic/webdav-issues/
修正点は2点。これだけで、SHOW_HIDDEN_FILES パラメータを追加して Yes に設定したユーザ&リポジトリの . で始まる隠しファイルが WebDAV サーバから見えるようになる。
まず、/core/classes/class.AJPX_Plugin.php 138 行目の protected を
を
と public にする。
次に、/core/classes/sabredav/ajaxplorer/class.AJXP_Sabre_Collection.php 156 行目の
を
に修正する。
https://pyd.io/f/topic/webdav-issues/
修正点は2点。これだけで、SHOW_HIDDEN_FILES パラメータを追加して Yes に設定したユーザ&リポジトリの . で始まる隠しファイルが WebDAV サーバから見えるようになる。
まず、/core/classes/class.AJPX_Plugin.php 138 行目の protected を
protected function getFilteredOption($optionName, $repositoryScope = AJXP_REPO_SCOPE_ALL)
を
public function getFilteredOption($optionName, $repositoryScope = AJXP_REPO_SCOPE_ALL)
と public にする。
次に、/core/classes/sabredav/ajaxplorer/class.AJXP_Sabre_Collection.php 156 行目の
if ( !$this->repository->getOption("SHOW_HIDDEN_FILES") && AJXP_Utils::isHidden($file)) {
を
if ( !$this->getAccessDriver()->getFilteredOption("SHOW_HIDDEN_FILES", $this->repository->getId()) && AJXP_Utils::isHidden($file)) {
に修正する。
トラックバック
トラックバックpingアドレス http://www.o-ya.net/modules/d3blog/tb.php/63
コメント一覧
0件表示
(全0件)
すべてのコメント一覧へ