2006.12.15 Friday | 14:47

  BlueShoes のファイルマネージャ ふるいむかし

ダウンロードサイト

結論から言うと、そのままでは動きません。
さらに言うと、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 '">';
?>




2006.12.12 Tuesday | 09:34

  XAMPP(ザンプ) ふるいむかし

Apache Friends (ダウンロードサイト)

サポートサイト

パッケージファイルもれ

以下、引用

たくさんの人が経験上、Apache Web ServerとMySQL、PHP、Perlのインストールと連携が難しいと知っています。
XAMPPはMySQLやPHPやPerlを含んだディストリビューションとして簡単にインストールすることができます。
インストールは、「ダウンロードして、展開して、実行するだけ」。本当にとても簡単です。

現在XAMPPには4つのバージョンがあります:

Linux版(Ubuntu, SuSE, RedHat, Mandrake,Debianでテストを行っています),
Windows版 (98, NT, 2000, 2003 and XP)
Solaris SPARC版(ベータ) (開発とテストはSolaris 8で行っています),
MacOS X版(ベータ)

MacOSX版とSolaris版のXAMPPはまだ開発初期段階です。ご利用は自己責任でお願いします。
もしくはエグザクソン株式会社のサポートプログラムにお入りください。バグを含めて全て対応いたします。


ダウンロードページ



2006.12.01 Friday | 12:18

  Net_POP3 ふるいむかし

PEAR の ライブラリで、( http://pear.php.net/package/Net_POP3 )
POP3 で簡単にメール情報を取得するのに使えます。
但し、複雑なメールは、自分で処理する必要があります。

( テキスト本文のみであれば、JIS から変換するのみですが、添付ファイルは自分でデコードする必要があります )

ヘッダーのみをリストして、現在の最新メール情報を取得するのに便利です。

<?
require_once('Net/POP3.php');

mb_language( "ja" );
mb_internal_encoding("EUC-JP");

print "<PRE>";

$pop3 = new Net_POP3();

$ret = $pop3->connect ( "your.domain", 110 );
if ( $ret ) {
	print "接続OK\n";
}

$ret = $pop3->login( "xxxxxxxxx", "zzzzzzzzzz", true );
if ( $ret ) {
	print "ログインOK\n";
}

$ret = $pop3->numMsg();
print "$ret : メッセージ件数\n";

$ret = $pop3->getSize();
print "$ret : メールボックスのサイズ\n";

$i = 1;
if ( $ret !== false ) {
	foreach( $ret as $Key => $Value ) {
		print "$Key : $Value\n";
		foreach( $Value as $Key2 => $Value2 ) {
			print "\t$Key2 : $Value2\n";
		}
		$ret2 = $pop3->getBody( $i );
		print $ret2 . "\n";
		$i++;
	}
}

$ret = $pop3->getBody( 1 );
print mb_convert_encoding( $ret, "SJIS", "JIS" );

$pop3->disconnect();

print "</PRE>";
?>
DONE




1/1