Tavern Change Log Volume 6
Date: 4.21.’06.
- 修正 Selima::FormFunc 模組,移除不用的 select_url() 及 select_text() 函式,及不用的引用 URI::Escape 、 Selima::HTTPS 、 Selima::RelURI 、 Selima::ShortCut 與 Selima::DataVars 的 :requri 。
- 修正 Selima::wov::HTML::html_title() 函式,移除不必要的 alt= 與 title= 文字代換。
- 修正 logout.cgi ,將 login.php 改正為 login.cgi (雖然現在其實還沒有 login.cgi 就是了。)
- 修正 Selima::HTTP::http_400() 函式,當傳入值 0 時,當成網址格式錯亂,改依 Apache 記錄的格式記錄。
- 因為現在輸出最後都會使用 page2rel() 轉換,所以不需要在輸出中途用 reluri() 了:修正 Selima::*::HTML 、 Selima::*::List::Search 、 logout.cgi 、 Selima::List 、 Selima::Form 、 Selima::Form::LinkCat 、 Selima::List::Public::Guestbook 、 Selima::AltLang 、 Selima::Picture ,移除使用 reluri() 的地方,及對 Selima::RelURI 的引用。
- 修正 Selima::Page2Rel::Converter 類別的 cnvtattr() 方法中,引用 absuri() 未加括弧的地方,加上括弧。
- 修正 Selima::HTTP 模組,加上 http_410() 及 http_503() 兩個函式,調整統一記錄訊息。
- 更新 Selima::imacat::List::LiteralZh 及 Selima::imacat::List::LtZhPoem 類別,加上 $self->{"COLS_BRIEF"} 。
- 加上 Selima::imacat::Form::LiteralZh 、 Selima::imacat::Form::LtZhPoem 、 Selima::imacat::Checker::LiteralZh 、 Selima::imacat::Checker::LtZhPoem 、 Selima::imacat::Processor::LiteralZh 及 Selima::imacat::Processor::LtZhPoem 。
- 修正 Selima::wov::Form::Newslet ,移除 $coltitle 及 $colauthor 不必要的 h_abbr() 。
- 修正 Selima::Form::MetaCols 類別的 _out_attrs() 方法,在檢查 $$_{"name"} 是否為 charset 前先檢查 $$_{"name"} 的值是否已定義。
Date: 4.20.’06.
- 停用 $MULTILINGUAL 變數,改用 @ALL_LINGUAS 變數判斷多語與否;修正 Selima::Processor 、 Selima::PageFunc 、 Selima::Destroy 、 Selima::UserName 、 Selima::Checker 、 Selima::List 、 Selima::Links 、 Selima::DataVars 、 Selima::LastModf 、 Selima::HTTP 、 Selima::GetLang 、 Selima::Init 及 Selima::imacat::HTML 。
- 將 literlzh 改名為 literalzh :修正資料庫, literlzh 資料表改名為 literalzh ; literlzh.cgi 程式改名為 literalzh.cgi 程式; Selima::imacat::List::LiterlZh 類別改名為 Selima::imacat::List::LiteralZh 。
- 修正女聲電子報管理,移除使用 arts 陣列,改用 artcount 變數:修正 newslets.cgi ,移除 $CURRENT{"arts"} ;修正 Selima::wov::Form::Newslet 類別的 _html_col_arts() 方法,使用 $current->param("artcount") ;修正 Selima::wov::Checker::Newslet 類別的 _check_arts() 方法,移除加上 $form->param("arts") 的部份。
- 修正 Selima::A2HTML ,加上行首空白的正確處理。
- 修正 Selima::HTTP::http_500() 函式,直接使用 @callers 依所處情況處理:停用 $trace , @callers 存入整個呼叫環境;剔除沒意義的 /dev/null 及 Apache::Registry ;網頁顯示時以 <samp>…</samp> 標示顯示;郵寄通知時加上換行;錯誤記錄時不加上換行。
- 修正 Selima::HTTP::http_400() 及 Selima::HTTP::http_403() 函式,改用 <!-- errmsg --> ;可能的話加記錄錯誤原因。
- 修正 Selima::HTTP::http_3??() 函式,停用 $url_r 與 $url_h ,改統一用 h($url) 代換,反正後來還需要作 page2rel() ,沒有太大的差別;將連結文字原來的網址改為有意義的文字,以符合無障礙網頁規範。
- 修正 Selima::HTTP::http_405() 函式,停用 $allowd 及 $allowed_h ,改統一用 join() 及常規表示法代換,並正確標示 <samp>…</samp> 。
- 修正 Selima::HTTP::http_???() 函式,將 if (defined $html) 簡化為 if (!defined $html) 。現在已經沒有必要特別代換了。
- 修正 Selima::PageFunc::outpage() ,原用 hcref_encode() 改用 page_encode() 。
- 修正 Selima::*::HTML::html_links_register() 函式,取消 E-mail 編碼。
- 修正 Selima::wov::HTML::html_nl_index() 函式,全文檢索程式的路徑改為絕對路徑。
- 修正 Selima::XHTML ,移除 set_xhtml_content_type() 函式,將 check_xhtml_content_type() 函式改名為 xhtml_content_type() ;修正 Selima::HTTP 及 Selima::Destroy 中引用 check_xhtml_content_type() 的地方。
- 修正 Selima::HTTP ,停用不必要的 $charset 變數,直接取得檔案類型及字集。
- 字集改由輸出時再代換:修正 Selima::*::HTML 、 Selima::List 、 Selima::Form 、 Selima::List::ActLog ,停用 $charset 變數,改為 <!--selima:charset--> ;修正 Selima::Destroy ,輸出時 hcref_encode() 改用 page_encode() ;修正 Selima::Form::MetaCols 類別的 _out_attrs() 方法,欄位名稱為 charset 時,作特殊處理。
Date: 4.19.’06.
- 修正 Selima::Unicode::is_charset() 及 Selima::Mail::b64hdr_encode() ,在 eval {} 中加上 local $SIG{"__DIE__"}; ,以避免呼叫 http_500() 。
Date: 4.19.’06.
- 修正 Selima::HTTP 處理字集的方式,內部全部將字集代換成代號,以便輸出時統一設定字集:修正 get_custom_status_message() ,將頁面出現的字集部份代換為 <!--selima:charset--> ,以備後續代換工作;修正 Selima::Unicode::page_encode() ,加上把 <!--selima:charset--> 代換為字集名稱;修正 http_???() ,將使用 to_iso88591() 及 hcref_encode() 之處改用 page_encode() ;移除 to_iso88591() 。
- 解決 Big5 和 Big5-Common 兩個名字間轉換的問題:修正 Selima::SetL10N ,用 Encode::Alias::define_alias() 將 Big5 重訂為 Big5-Common ;修正 Selima::*::HTML 、 Selima::imacat::Processor::Public::Guestbook 、 Selima::SetL10N 、 Selima::Destroy 、 Selima::List::ActLog 、 Selima::Form 、 Selima::DecForm 、 Selima::List 、 Selima::HTTP 、 Selima::Unicode 、 Selima::LnInfo 、 Selima::GetLang ,移除不必要的 Big5-Common 轉換程式碼。
- 修正 Selima::DecForm 整理候選字集的部份,用較正確的方式剔除重複的字集,在 Big5 字集加上 Big5-ETen ,並將 Big5-HKSCS 分開處理。
- 解決每次異動翻譯文字,都要重開 Apache 的問題:修正 Selima::SetL10N ,加上自動按 MO 檔的修改時間,判斷呼叫 reload_text() 重讀 MO 檔的功能;修正 Selima::Cache ,加上 %SetL10N_checked 。
Date: 4.18.’06.
- 加上 literlzh 與 ltzhpoem 兩個資料表;加上 Selima::imacat::List::LiterlZh 與 Selima::imacat::List::LtZhPoem 兩個類別,及 literlzh.cgi 與 ltzhpoem.cgi 兩支程式,以處理中文詩。
- 修正錯誤處理函式的設計:在每個程式最前方加上 local $SIG{"__DIE__"} = \&http_500; ,以在 mod_perl 每一次執行做 eval() ,都會設定區域性的錯誤處理函式;修正 startup.pl ,取消沒有用處的 local $SIG{"__DIE__"} = \&http_500; 。
- 修正 Selima::HTTP ,用 caller() 顯示每一層呼叫的位置,以利偵錯。
Date: 4.13.’06.
- 修正 Selima::PageFunc 模組的 rebuildtype_options() 函式,改用 Devel::Symdump 取得重製網頁的函式清單,並改用 map() 、 grep() 及 sort() 函式簡化一次處理。
- 修正 Selima::XHTML 模組,加上 check_xhtml_content_type() 函式,以替代 set_xhtml_content_type() 函式,由使用者的瀏覽器資料,判斷應送出的 MIME 格式;停用 set_xhtml_content_type() 函式;修正 Selima::Destroy 模組,改用 check_xhtml_content_type() 函式,並依純文字或 HTML 做出較細緻的輸出前後置處理;修正 Selima::HTTP 模組,改用 check_xhtml_content_type() 函式。
Date: 4.13.’06.
- 修正 Selima::List 模組,加上 html_title() 方法以備用。