BlueShoes のファイルマネージャ ふるいむかし
ダウンロードサイト
結論から言うと、そのままでは動きません。
さらに言うと、IE でしか動きません。
サイトの更新はほとんど止まっているようなので、
サンプルとして使ってみる・・・
みたいな感じです。
上記は、Windows で動かしていますが、
php の以下の書き方の為にエラーになります
これは、Windows 以外では動くようです。
ベータ版では修正されているようなのですが、他のところがエラーになるので
結局これを修正して使う事になります。
フリーソフトの Repl-Ace で一括置換して、php と / の間にスペースを入れました
後、上記画像で表示されているポップアップ表示にもバグがあるので
修正が必要です。さらに、画像を表示する際にダウンロードにならないように
ソースを変更する必要があります
images\applications\filemanager\fileManager.ie6.js
オリジナルは、nTop が無いのでファイルが多くて
スクロールする場合にポップアップがついて来ない
applications\filemanager\viewer.php
HTTP ヘッダに対する出力をコメントにする
( これは、ダウンロード時のファイル名を決定するヘッダ )
それと、WEBでは出なかったエラーですが修正しないと local では動きません
また、これに関しては、; を ;\n に変換しないと修正しづらいです。
$this->_IniHandler->get() を直接 return してエラーになっていたので、
いったん変数にセットして return しています。
最後にやっと環境設定ですが、applications\filemanager\index.php に追加します
下の既存部分は、実際は改行が除かれています。
( そんな事するから動かないんですけど・・・ )
basePath がファイルを読み出すためのパスです。
jsBasePath と imgBasePath は、HTML として読み出す URL です
maxFilesToShow は、一度に表示できるファイル数です
日本語化は、applications\filemanager\lang\text.en.txt の中身を変えて、
そのキャラクタセットのメタタグを表示側の HTML 記述に追加します。
例:file.php
このファイルマネージャでは、ファイル編集機能がある為
以下のようにして日本語対応をしました
applications\filemanager\editor.php
結論から言うと、そのままでは動きません。
さらに言うと、IE でしか動きません。
サイトの更新はほとんど止まっているようなので、
サンプルとして使ってみる・・・
みたいな感じです。
上記は、Windows で動かしていますが、
php の以下の書き方の為にエラーになります
<?php/***********************/
これは、Windows 以外では動くようです。
ベータ版では修正されているようなのですが、他のところがエラーになるので
結局これを修正して使う事になります。
フリーソフトの Repl-Ace で一括置換して、php と / の間にスペースを入れました
後、上記画像で表示されているポップアップ表示にもバグがあるので
修正が必要です。さらに、画像を表示する際にダウンロードにならないように
ソースを変更する必要があります
images\applications\filemanager\fileManager.ie6.js
function displayMenu(obj) { clickOnItem(obj);menu1.style.leftPos+=10;menu1.style.posLeft=event.clientX; var nTop = document.getElementsByTagName("BODY")[0].scrollTop; if ( event.clientY > 300 ) { nTop -= 140; } menu1.style.posTop=nTop+event.clientY; menu1.style.display="block"; fileContextMenuActive = true; menu1.setCapture(); }
オリジナルは、nTop が無いのでファイルが多くて
スクロールする場合にポップアップがついて来ない
applications\filemanager\viewer.php
//header("Content-Disposition: attachment; filename={$_REQUEST['file']}");
HTTP ヘッダに対する出力をコメントにする
( これは、ダウンロード時のファイル名を決定するヘッダ )
それと、WEBでは出なかったエラーですが修正しないと local では動きません
また、これに関しては、; を ;\n に変換しないと修正しづらいです。
function &readLanguage($path) {if (!$this->_IniHandler->loadFile($path)) return NULL; $ret = $this->_IniHandler->get() return $ret; }
$this->_IniHandler->get() を直接 return してエラーになっていたので、
いったん変数にセットして return しています。
最後にやっと環境設定ですが、applications\filemanager\index.php に追加します
// 追加部分 $fileManagerSettings = array( 'basePath' => 'C:/Documents and Settings/lightbox/My Documents/', 'showRelative' => TRUE, 'maxFileUploadSize' => '1000000', 'jsBasePath' => '/php/blueshoes/javascript/', 'imgBasePath' => '/php/blueshoes/images/', 'language' => 'en', ); // 既存部分 $pos = strpos(__FILE__, 'index.php'); $tmpFile = substr(__FILE__, 0, $pos); $APP['path']['bsRoot'] = str_replace("\\", '/', realpath($tmpFile . '../../')) . '/'; $APP['path']['applications'] = $APP['path']['bsRoot'] . 'applications/'; require_once($APP['path']['applications'] . 'filemanager/global.conf.php'); require_once($APP['path']['core'] . 'file/Bs_Dir.class.php'); require_once($APP['path']['core'] . 'file/Bs_File.class.php'); $file =& new Bs_File();$dir =& new Bs_Dir(); $basePath = $dir->realPath($fileManagerSettings['basePath']); $fileManagerSettingsDefault = array( 'showRelative' => TRUE, 'maxFileUploadSize' => '1000000', 'maxFilesToShow' => 300, 'jsBasePath' => '/_bsJavascript/', 'imgBasePath' => '/_bsImages/', 'language' => 'en', 'fileExtensions' => '__FILE__', );
下の既存部分は、実際は改行が除かれています。
( そんな事するから動かないんですけど・・・ )
basePath がファイルを読み出すためのパスです。
jsBasePath と imgBasePath は、HTML として読み出す URL です
maxFilesToShow は、一度に表示できるファイル数です
日本語化は、applications\filemanager\lang\text.en.txt の中身を変えて、
そのキャラクタセットのメタタグを表示側の HTML 記述に追加します。
例:file.php
このファイルマネージャでは、ファイル編集機能がある為
以下のようにして日本語対応をしました
applications\filemanager\editor.php
<? print '<meta http-equiv="Content-Type" content="text/html; charset='; $ret = mb_detect_encoding( $fileContent,'SJIS,EUC-JP,UTF-8' ); if ( $ret == 'SJIS' ) { print "shift_jis"; } if ( $ret == 'EUC-JP' ) { print $ret; } if ( $ret == 'UTF-8' ) { print $ret; } print '">'; ?>