0.1.1

目次

修正内容

軽量化 PukiWiki\Render.php

descriptionの項目のためにrender処理が2回されていたせいで、
ページの描画に倍の時間がかかっていたので、設定されていない場合は空白にするように修正。

修正前
$desc = !empty($description) ? $description : mb_strimwidth(preg_replace("/[\r\n]/" ,' ' ,strip_htmltag($this->wiki->render())) ,0 ,256 ,'...');
修正後
$desc = !empty($description) ? $description : "";

Mailerクラスのsendメソッド修正 PukiWiki\Mailer.php

尚、利用しないためsmtp利用の動作は未確認(要:ユーザIDとPASSの設定)

public static function send($from, $to, $subject, $body, $from_label=''){
	global $smtp_server, $notify_from, $notify_to;
	// mb_encode_mimeheader挙動にかかわる大事な指定
	mb_internal_encoding('JIS');
	
	$mail = new Mail\Message('ISO-2022-JP');
	// 送信元および、名前
	$mail->setFrom($from, self::to_jis($from_label));
	// 送信先
	$mail->addTo($to);
	// 長すぎる日本語件名を分割する
	$mail->setSubject(preg_replace('/\s+/', ' ', self::to_jis($subject)));
	// 返信先を自分に
	$mail->setReplyTo($from);
	// メールの内容
	$mail->setBody(self::to_jis($body), "ISO-2022-JP", Mime\Mime::ENCODING_7BIT);
	// 本文の文字コード
	$mail->getHeaders()
		->addHeaderLine('Content-Type', 'text/plain; charset=iso-2022-jp')
	// エラーなら自分に(不要ですが)
		->addHeaderLine('Errors-to', $from)
	// 先頭ビット使ってません
		->addHeaderLine('Content-Transfer-Encoding', '7bit')
	// メール送信者
		->addHeaderLine('X-Mailer', S_APPNAME . ' ' . S_VERSION);
	// エンコード
	$mail->setEncoding(Mime\Mime::ENCODING_BASE64);
	// STMPサーバーが指定されていない場合Sendmailでメールを送る
	if (empty($smtp_server)){
		// "-fメアド"でReturn-Path設定
		$transport = new Mail\Transport\Sendmail($notify_from);
		$transport->send($mail);
	}else{
		$transport = new Mail\Transport\Smtp();
		$options   = new Mail\Transport\SmtpOptions(array(
			'name'              => $smtp_server,
			'host'              => $smtp_server,
			'connection_class'  => 'plain',
			'connection_config' => array(
				'username' => 'user',
				'password' => 'pass',
			),
		));
		$transport->setOptions($options);
		$transport->send($mail);
	}
	unset($mail);
	unset($transport);
}

コメント

スポンサー