From 3917da58a5d92de2f8935052bf4cf1d0cfd37398 Mon Sep 17 00:00:00 2001 From: henoheno Date: Wed, 11 Aug 2004 23:19:48 +0900 Subject: [PATCH] Avoid loop etc. --- plugin/calendar_viewer.inc.php | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/plugin/calendar_viewer.inc.php b/plugin/calendar_viewer.inc.php index 0a09667..a0825b8 100644 --- a/plugin/calendar_viewer.inc.php +++ b/plugin/calendar_viewer.inc.php @@ -1,7 +1,7 @@ '; @@ -65,10 +67,7 @@ function plugin_calendar_viewer_convert() $mode = 'past'; // Æ°ºî¥â¡¼¥É $date_sep = '-'; // ÆüÉդΥ»¥Ñ¥ì¡¼¥¿ calendar2¤Ê¤é '-', calendar¤Ê¤é '' - if (isset($func_args[3])) { - $date_sep = $func_args[3]; - } - + // $func_args[1] ¤Î¥Á¥§¥Ã¥¯ if (preg_match('/[0-9]{4}' . $date_sep . '[0-9]{2}/', $func_args[1])) { // »ØÄêǯ·î¤Î°ìÍ÷ɽ¼¨ $page_YM = $func_args[1]; @@ -96,6 +95,18 @@ function plugin_calendar_viewer_convert() $mode = $func_args[2]; } + if (isset($func_args[3])) { + $date_sep = $func_args[3]; + } + + // Avoid Loop etc. + if (isset($viewed[$pagename])) { + $s_page = htmlspecialchars($pagename); + return "#calendar_viewer(): You already view: $s_page
"; + } else { + $viewed[$pagename] = TRUE; // Valid + } + // °ìÍ÷ɽ¼¨¤¹¤ë¥Ú¡¼¥¸Ì¾¤È¥Õ¥¡¥¤¥ë̾¤Î¥Ñ¥¿¡¼¥ó¡¡¥Õ¥¡¥¤¥ë̾¤Ë¤Ïǯ·î¤ò´Þ¤à if ($pagename == '') { // pagename̵¤·¤Îyyyy-mm-dd¤ËÂбþ¤¹¤ë¤¿¤á¤Î½èÍý -- 2.11.0