svnno****@sourc*****
svnno****@sourc*****
2010年 3月 29日 (月) 20:30:37 JST
Revision: 89 http://sourceforge.jp/projects/frameworkspider/svn/view?view=rev&revision=89 Author: m_nakashima Date: 2010-03-29 20:30:37 +0900 (Mon, 29 Mar 2010) Log Message: ----------- 1) グローバルエラー機能を使えるように実装しました。 spider_HttpRequestクラスのaddGlobalError($message)メソッドで追加したエラーメッセージは次回 リクエスト時までセッションに保存されて復元されます。 再リクエスト時にセッションからは削除されます。 2) util_Mailのreturn_path不具合を修正しました。 return_pathが未設定の場合にfromのメールアドレス部分だけがアドレスが設定されるように修正しました。 Modified Paths: -------------- current/README.txt current/spider/lib/spider/Controller.class.php current/spider/lib/spider/HttpRequest.class.php current/spider/lib/spider/tags/UseSession.class.php current/spider/lib/util/Mail.class.php -------------- next part -------------- Modified: current/README.txt =================================================================== --- current/README.txt 2010-03-26 08:24:17 UTC (rev 88) +++ current/README.txt 2010-03-29 11:30:37 UTC (rev 89) @@ -3,6 +3,14 @@ ** ** このファイルにはコミットごとに変更点とファイル名を記述します。 ** +-- 2010-03-29 +1) グローバルエラー機能を使えるように実装しました。 + spider_HttpRequestクラスのaddGlobalError($message)メソッドで追加したエラーメッセージは次回 + リクエスト時までセッションに保存されて復元されます。 + 再リクエスト時にセッションからは削除されます。 +2) util_Mailのreturn_path不具合を修正しました。 + return_pathが未設定の場合にfromのメールアドレス部分だけがアドレスが設定されるように修正しました。 + -- 2010-03-26 1) リバースプロキシ経由の場合のリダイレクト不具合を修正しました。 2) テンプレート内でのXML宣言をechoしなくても記述できるように自動置換機能を追加しました。 Modified: current/spider/lib/spider/Controller.class.php =================================================================== --- current/spider/lib/spider/Controller.class.php 2010-03-26 08:24:17 UTC (rev 88) +++ current/spider/lib/spider/Controller.class.php 2010-03-29 11:30:37 UTC (rev 89) @@ -58,10 +58,6 @@ } // リクエスト出力 $this->http_output_object->output( $this, $this->request_object ); - // グローバルエラーが登録されていたらセッションに登録 - if( is_array($request_object->global_errors) && count($request_object->global_errors) > 0 ) { - $_SESSION['spider.global_errors'] = serialize($_SESSION['spider.global_errors']); - } } /** * モジュール実行 Modified: current/spider/lib/spider/HttpRequest.class.php =================================================================== --- current/spider/lib/spider/HttpRequest.class.php 2010-03-26 08:24:17 UTC (rev 88) +++ current/spider/lib/spider/HttpRequest.class.php 2010-03-29 11:30:37 UTC (rev 89) @@ -120,6 +120,16 @@ * グローバルエラーを追加します */ function addGlobalError( $message ) { + if( isset($_SESSION) ) { + if( isset($_SESSION['spider.global_errors']) ) { + $globalErrors = unserialize( $_SESSION['spider.global_errors'] ); + } + if( !is_array( $globalErrors ) ) { + $globalErrors = array(); + } + array_push($globalErrors,$message); + $_SESSION['spider.global_errors'] = serialize($globalErrors); + } array_push( $this->global_errors, $message ); } /** Modified: current/spider/lib/spider/tags/UseSession.class.php =================================================================== --- current/spider/lib/spider/tags/UseSession.class.php 2010-03-26 08:24:17 UTC (rev 88) +++ current/spider/lib/spider/tags/UseSession.class.php 2010-03-29 11:30:37 UTC (rev 89) @@ -44,6 +44,13 @@ . "\n" . '$GLOBALS[\'request_object\']->setAttribute( \'spider.session_name\', session_name(), SPIDER_SESSION_SCOPE_GLOBAL );'. "\n" . '$GLOBALS[\'request_object\']->setAttribute( \'spider.session_id\', session_id(), SPIDER_SESSION_SCOPE_GLOBAL );'. "\n" + . 'if( isset($_SESSION) ) {'."\n" + . '$globalErrors = unserialize( $_SESSION[\'spider.global_errors\'] );'."\n" + . 'if( is_array( $globalErrors ) ) {' + . '$GLOBALS[\'request_object\']->errors = $globalErrors;'."\n" + . '}'."\n" + . 'unset( $_SESSION[\'spider.global_errors\'] );'."\n" + . '}'."\n" ; if( !isset($build_information->preview_process_hash) || !is_array($build_information->preview_process_hash) ){ Modified: current/spider/lib/util/Mail.class.php =================================================================== --- current/spider/lib/util/Mail.class.php 2010-03-26 08:24:17 UTC (rev 88) +++ current/spider/lib/util/Mail.class.php 2010-03-29 11:30:37 UTC (rev 89) @@ -339,7 +339,7 @@ $this->reply_to = $this->from; } if( strlen(trim($this->return_path)) == 0 ) { - $this->return_path = $this->from; + $this->return_path = $this->getFromAddress(); } // メールアドレス RFC 2822を満たすことを前提としてユーザ名をエンコードする