« 目次

Movable Type オブジェクト・リファレンス

MT::Util

概要

use MT::Util qw( functions );

解説

MT::Utilは、Movable Typeが使用するさまざまなユーティリティー関数を提供します。

利用方法

start_end_day($ts)

指定した$ts("YYYYMMDDHHMMSS"形式のタイムスタンプ)をもとに、その時刻を含む日の始まりを示すタイムスタンプ(リスト・コンテクストで呼び出す場合にはその日の終わりも)を計算します。スカラー・コンテクストで呼び出した場合、戻り値は1つで、その日の始まりを示すタイムスタンプになります。リスト・コンテクストで呼び出すと、始まりと終わりを示す2つのタイムスタンプを返します。

たとえば、引数に"20020410160406"を指定した場合、スカラー・コンテクストでは"20020410000000"が返り、リスト・コンテクストでは"20020410000000"と"20020410235959"が返ります。

start_end_week($ts)

指定した$ts("YYYYMMDDHHMMSS"形式のタイムスタンプ)をもとに、その時刻を含む週の始まりを示すタイムスタンプ(リスト・コンテクストで呼び出す場合には週の終わりも)を計算します。スカラー・コンテクストで呼び出した場合、戻り値は1つで、その週の始まりを示すタイムスタンプになります。リスト・コンテクストで呼び出すと、始まりと終わりを示す2つのタイムスタンプを返します。一週間は日曜日から始まるものとして定義されています。

たとえば、引数に"20020410160406"を指定した場合、スカラー・コンテクストでは"20020407000000"が返り、リスト・コンテクストでは"20020407000000"と"20020413235959"が返ります。

start_end_month($ts)

指定した$ts("YYYYMMDDHHMMSS"形式のタイムスタンプ)をもとに、その時刻を含む月の始まりを示すタイムスタンプ(リスト・コンテクストで呼び出す場合には月の終わりも)を計算します。スカラー・コンテクストで呼び出した場合、戻り値は1つで、その月の始まりを示すタイムスタンプになります。リスト・コンテクストで呼び出すと、始まりと終わりを示す2つのタイムスタンプを返します。

たとえば、引数に"20020410160406"を指定した場合、スカラー・コンテクストでは"20020401000000"が返り、リスト・コンテクストでは"20020401000000"と"20020430235959"が返ります。

offset_time_list($unix_ts, $blog [, $direction ])

Unix epoch(1970年1月1日から始まる)形式のタイムスタンプで指定した$unix_tsに、$blogMT::BlogオブジェクトまたはブログのID)で指定したブログに設定されたタイムゾーンのオフセットを適用します。ローカルのタイムゾーンで夏時間が有効である場合(有効かどうかの判別はlocaltime()の戻り値で行います)、オフセットは自動的に調節されます。調節されたUnixタイムスタンプを引数にしてgmtime()を呼び出した戻り値が返ります。

format_ts($format, $ts, $blog)

"YYYYMMDDHHMMSS"形式のタイムスタンプ$tsに、$formatで指定した書式を適用し、整形済みの文字列を返します。

引数$blogを指定する場合は、MT::Blogオブジェクトでなければなりません。このオブジェクトから、ブログの日付/時刻の書式言語(英語、フランス語など)が得られます。指定しない場合は英語書式が用いられます。

$formatがundefで$blogが指定されている場合、format_tsは言語別のデフォルトの書式を使用します。言語別のデフォルト書式が定義されていない場合、あるいは$blogを指定していない場合は、"%B %e, %Y %I:%M %p"が、デフォルトの書式となります。

days_in($month, $year)

$month$yearの組み合わせで指定した月の日数を返します。$monthは1月を1とする数値でなければなりません。$yearは4桁の西暦年号です。うるう年の日数も自動計算されます。

wday_from_ts($year, $month, $day)

$year$month$dayの組み合わせで指定した日付の曜日を、0から6の範囲の数値(0が日曜日)で返します。$yearは4桁の西暦年号で、$monthは1-12の範囲の数値、$dayは月の中での日付を表わす数値です。

first_n_words($str, $n)

引数$strに指定した文字列の中からHTMLタグを取り除いた後、最初の$n語を返します。

dirify($str)

引数$strに指定した文字列を処理し、ファイル名/ディレクトリ名に適した形に変換します。HTMLタグやHTML文字実体の参照は削除されます。空白文字や英単語に使用する文字以外の文字は削除されます。空白文字はアンダースコアに変換されます。さらに文字列全体が小文字に変換されます。

たとえば、"Foo <b>Bar</b> &quot;Baz&quot;"という文字列は、"foo_bar_baz"になります。

encode_html($str)

引数$strに指定した文字列中の特殊文字をHTML文字実体に変換し、変換後の文字列を返します。HTML::Entitiesが使用可能な場合で、環境設定ファイルのNoHTMLEntitiesの項目が設定されていない場合は、実体エンコードにHTML::Entitiesを使用します。それ以外の場合は、最も一般的な状況でエンコードを必要とする文字をキャッチする非常にシンプルなエンコードが用いられます。

decode_html($str)

引数$strに指定した文字列に含まれるすべてのHTML文字実体を、対応する文字に変換して、変換後の文字列を返します。HTML::Entitiesが使用可能で、環境設定ファイルのNoHTMLEntitiesの項目が設定されていない場合は、実体デコードにHTML::Entitiesを使用します。それ以外の場合は、デコードを必要とする最も一般的な文字実体をキャッチする非常にシンプルなデコードが用いられます。

remove_html($str)

引数$strからHTMLタグを取り除いた結果を返します。

encode_js($str)

引数$strに指定した文字列に含まれるすべての特殊文字をエスケープまたはエンコードして、JavaScriptの値として安全に使えるようにします。戻り値は変換後の文字列です。

encode_php($str [, $type ])

引数$strに指定した文字列に含まれるすべての特殊文字をエスケープまたはエンコードして、PHPコード中の値として安全に使えるようにします。変換後の文字列を返します。

$typeには"qq"(二重引用符で囲む)、"here"(ヒアドキュメント形式)、"q"(一重引用符で囲む)のいずれかが指定できます。デフォルトは"q"です。

spam_protect($email_address)

引数$email_addressに指定したメールアドレスのうち、メールアドレスであることが判別できる文字(":"、"@"および".")をすべてHTML文字実体に変換することにより、アドレス・ハーベスターがメールアドレスを見つけにくくします。戻り値は変換後の文字列です。

is_valid_email($email_address)

引数$email_addressに指定したメールアドレスが、メールアドレスとして有効な文字列かどうかをチェックします。有効なメールアドレスと判断した場合、is_valid_emailは有効なメールアドレスを返します。メールアドレスの一部が有効である場合には、有効な部分のみを返します。無効と判別すると0を返します。

perl_sha1_digest($msg)
perl_sha1_digest_hex($msg)

引数$msgに指定したメッセージのSHA1ダイジェストを返します。perl_sha1_digestの戻り値は、通常のpackされたバイナリー形式になります。perl_sha1_digest_hexの戻り値は、16進数のASCII文字列になります。

dsa_verify(Key => $key, Signature => $sig, [ Message => $msg | $Digest => $dgst ])

$keyで公開鍵ペアの秘密鍵を利用して生成された$msg(または$dgst)のDSA署名を検証します。Math::BigIntが必要ですが、Perl以外のライブラリーは必要ありません。


Copyright © 2001-2006 Six Apart, Ltd. All Rights Reserved.