<?php
/*
 * framework-spider
 * spider/module/AutoFormat.class.php
 * 
 * CopyRight(C)Framework-Spider Developer Team. 2010. All Right Reserved. 
 * URL         : http://sourceforge.jp/projects/frameworkspider/
 * Mail        : frameworkspider-dev@lists.sourceforge.jp
 * Auther      : Masanori Nakashima
 * Modifier    : Masanori Nakashima
 * Last Updated: 2010.06.23
 * 
 */
require_once( dirname(dirname(__FILE__))
	.DIRECTORY_SEPARATOR.'ModuleBase.class.php');
/**
 * spider：POSTおよびGETで入力されたパラメータの文字列を以下のとおり書式変換する
 * 　1）「半角カタカナ」を「全角カタカナ」に変換します。
 * 　2）濁点付きの文字を一文字に変換します。
 * 　3）「全角」英数字を「半角」に変換します。 
 * 　4）「全角」スペースを「半角」に変換します。
 * アクションモジュールクラス
 * 
 * @package spider spider/moduleパッケージ
 * @version 1.2.00
 * @copyright Copyright &copy; 2008, <m_nakashima@users.sourceforge.jp> http://sourceforge.jp/projects/shopformer/
 * @author  m.nakashima <m_nakashima@users.sourceforge.jp>
 * @since PHP 5.2
 */
class spider_module_AutoFormat extends spider_ModuleBase {
	function spider_module_AutoFormat() {
	}
	function execute( & $request ) {
		// POSTパラメータ
		$this->convertKana( $_POST,'KVas','UTF-8' );
		// GETパラメータ
		$this->convertKana( $_GET,'KVas','UTF-8' );
		$request->setAttribute( 'postparams', $_POST );
		$request->setAttribute( 'getparams', $_GET );
	}
	/**
	 * 多次元配列の値をフォーマットにエンコードします
	 */
	function convertKana( & $hash, $format='KVas', $toChar='UTF-8') {
		if( is_array($hash) ) {
			foreach( $hash as $key => $val ) {
				if( is_array($val) ) {
					$this->convertKana( $hash[$key] );
				} else {
					$hash[$key]	= mb_convert_kana($val,$format,$toChar);
				}
			}
		}
	}
}
?>