calendar2で不正なHTMLタグ出力

  • ページ: BugTrack
  • 投稿者: reimy
  • 優先順位: 重要
  • 状態: 完了
  • カテゴリー: プラグイン
  • 投稿日: 2003-06-02 (月) 03:06:27
  • バージョン:

メッセージ

calendar2で不正なタグが出力されます。not Valid XHTML 1.1!

サンプル : :test_cal? の出力

153:     <tr>
154:      <td class="style_td_week">日</td>
155:      <td class="style_td_week">月</td>
156:      <td class="style_td_week">火</td>
157:      <td class="style_td_week">水</td>
158:      <td class="style_td_week">木</td>
159:      <td class="style_td_week">金</td>
160:      <td class="style_td_week">土</td>
161:     </tr>
162:     <tr>
163:     </tr>
164:     <tr>
165:      <td class="style_td_sun">
  • 162、163の<tr></tr>は出力してはいけない。
  • 発生する条件 : 1日が日曜日の月。
    • 2003年6月、2004年2月など。

1日が日曜日の場合、カレンダーに1日より前のブランク日が存在しない。calendar2はブランク日の出力の前後で、ブランク日が存在しないときにも<tr>及び</tr>を出力してしまっている。下記のように修正。-- reimy 2003-06-03 (火) 04:17:00

	foreach($weeklabels as $label) {
		$ret .= "     <td class=\"style_td_week\">$label</td>\n";
	}
	
-	$ret .= "    </tr>\n    <tr>\n";
	
	while (checkdate($m_num,$day,$year)) {
		$dt = sprintf('%4d-%02d-%02d', $year, $m_num, $day);
		$page = $prefix.$dt;
		$r_page = rawurlencode($page);
		$s_page = htmlspecialchars($page);
		
		if ($fweek) {
+			if ($wday != 0) $ret .= "    </tr>\n    <tr>\n";
			for ($i = 0; $i < $wday; $i++) { // Blank 
				$ret .= "     <td class=\"style_td_blank\">&nbsp;</td>\n";
			}
			$fweek = FALSE;
		}
		
		if ($wday == 0) {
			$ret .= "    </tr>\n    <tr>\n";
		}

これでもいいかも。

	foreach($weeklabels as $label) {
		$ret .= "     <td class=\"style_td_week\">$label</td>\n";
	}
	
	$ret .= "    </tr>\n    <tr>\n";
	
	while (checkdate($m_num,$day,$year)) {
		$dt = sprintf('%4d-%02d-%02d', $year, $m_num, $day);
		$page = $prefix.$dt;
		$r_page = rawurlencode($page);
		$s_page = htmlspecialchars($page);
		
		if ($fweek) {
			for ($i = 0; $i < $wday; $i++) { // Blank 
				$ret .= "     <td class=\"style_td_blank\">&nbsp;</td>\n";
			}
			$fweek = FALSE;
		}

-		if ($wday == 0) {
+		if ($wday == 0 && $day > 1) {
			$ret .= "    </tr>\n    <tr>\n";
		}


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2003-06-04 (水) 11:09:57
Site admin: PukiWiki Development Team

PukiWiki 1.5.2+ © 2001-2019 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u7. HTML convert time: 0.165 sec.

OSDN