[Frameworkspider-svn] spider-commit [89] 1) グローバルエラー機能を使えるように実装しました。

Back to archive index

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を満たすことを前提としてユーザ名をエンコードする



Frameworkspider-svn メーリングリストの案内
Back to archive index