ダウンロードサイト
結論から言うと、そのままでは動きません。
さらに言うと、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 '">';
?>