* PukiWiki calendar_viewer¥×¥é¥°¥¤¥ó
*
*
- *$Id: calendar_viewer.inc.php,v 1.10 2004/07/31 03:09:20 henoheno Exp $
- calendarrecent¥×¥é¥°¥¤¥ó¤ò¸µ¤ËºîÀ®
+ *$Id: calendar_viewer.inc.php,v 1.11 2004/08/10 12:02:25 henoheno Exp $
+ calendarrecent¥×¥é¥°¥¤¥ó¤ò¸µ¤ËºîÀ®
*/
/**
*³µÍ×
function plugin_calendar_viewer_convert()
{
- global $WikiName,$BracketName,$vars,$get,$post,$hr,$script;
- global $_err_calendar_viewer_param,$_err_calendar_viewer_param2;
- global $_msg_calendar_viewer_right,$_msg_calendar_viewer_left;
- global $_msg_calendar_viewer_restrict;
-
- //*¥Ç¥Õ¥©¥ë¥ÈÃͤò¥»¥Ã¥È
- //´ð½à¤È¤Ê¤ë¥Ú¡¼¥¸Ì¾
- $pagename = "";
- //ɽ¼¨¤¹¤ë·ï¿ôÀ©¸Â
- $limit_page = 7;
- //°ìÍ÷ɽ¼¨¤¹¤ëǯ·î
- $date_YM = "";
- //Æ°ºî¥â¡¼¥É
- $mode = "past";
- //ÆüÉդΥ»¥Ñ¥ì¡¼¥¿ calendar2¤Ê¤é"-" calendar¤Ê¤é""
- $date_sep = "-";
-
-
- //*°ú¿ô¤Î³Îǧ
- if (func_num_args()>=2){
- $func_vars_array = func_get_args();
-
- $pagename = $func_vars_array[0];
-
- if (isset($func_vars_array[3])){
- $date_sep = $func_vars_array[3];
- }
- if (preg_match("/[0-9]{4}".$date_sep."[0-9]{2}/",$func_vars_array[1])){
- //»ØÄêǯ·î¤Î°ìÍ÷ɽ¼¨
- $page_YM = $func_vars_array[1];
- $limit_base = 0;
- $limit_page = 31; //¼êÈ´¤¡£31Æüʬ¤ò¥ê¥ß¥Ã¥È¤È¤¹¤ë¡£
- }else if (preg_match("/this/si",$func_vars_array[1])){
- //º£·î¤Î°ìÍ÷ɽ¼¨
- $page_YM = get_date("Y".$date_sep."m");
- $limit_base = 0;
- $limit_page = 31;
- }else if (preg_match("/^[0-9]+$/",$func_vars_array[1])){
- //nÆüʬɽ¼¨
- $limit_pitch = $func_vars_array[1];
- $limit_page = $limit_pitch;
- $limit_base = 0;
- $page_YM = "";
- }else if (preg_match("/([0-9]+)\*([0-9]+)/",$func_vars_array[1],$reg_array)){
- $limit_pitch = $reg_array[2];
- $limit_page = $reg_array[1] + $limit_pitch;
- $limit_base = $reg_array[1];
- $page_YM = "";
- }else{
- return $_err_calendar_viewer_param2;
- }
- if (isset($func_vars_array[2])&&preg_match("/^(past|view|future)$/si",$func_vars_array[2])){
- //¥â¡¼¥É»ØÄê
- $mode = $func_vars_array[2];
- }
-
-
- }else{
- return $_err_calendar_viewer_param;
- }
-
- //*°ìÍ÷ɽ¼¨¤¹¤ë¥Ú¡¼¥¸Ì¾¤È¥Õ¥¡¥¤¥ë̾¤Î¥Ñ¥¿¡¼¥ó¡¡¥Õ¥¡¥¤¥ë̾¤Ë¤Ïǯ·î¤ò´Þ¤à
- if ($pagename == ""){
- //pagename̵¤·¤Îyyyy-mm-dd¤ËÂбþ¤¹¤ë¤¿¤á¤Î½èÍý
- $pagepattern = "";
- $pagepattern_len = 0;
- $filepattern = encode($page_YM);
- $filepattern_len = strlen($filepattern);
- }else{
- $pagepattern = strip_bracket($pagename) .'/';
- $pagepattern_len = strlen($pagepattern);
- $filepattern = encode($pagepattern.$page_YM);
- $filepattern_len = strlen($filepattern);
- }
-
- //echo "$pagename:$page_YM:$mode:$date_sep:$limit_base:$limit_page";
- //*¥Ú¡¼¥¸¥ê¥¹¥È¤Î¼èÆÀ
- //echo $pagepattern;
- //echo $filepattern;
-
- $pagelist = array();
- if ($dir = @opendir(DATA_DIR))
- {
- $_date = get_date("Y".$date_sep."m".$date_sep."d");
- while($file = readdir($dir))
- {
- if ($file == ".." || $file == ".") continue;
- if (substr($file,0,$filepattern_len)!=$filepattern) continue;
- //echo "OK";
- $page = decode(trim(preg_replace("/\.txt$/"," ",$file)));
- //$page¤¬¥«¥ì¥ó¥À¡¼·Á¼°¤Ê¤Î¤«¥Á¥§¥Ã¥¯ ¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢ yyyy-mm-dd
- $page = strip_bracket($page);
- if (plugin_calendar_viewer_isValidDate(substr($page,$pagepattern_len),$date_sep) == false) continue;
-
- //*modeËè¤ËÊ̾ò·ï¤Ç¤Ï¤¸¤¯
- //past mode¤Ç¤Ï̤Íè¤Î¥Ú¡¼¥¸¤ÏNG
- if (((substr($page,$pagepattern_len)) > $_date)&&($mode=="past") )continue;
- //future mode¤Ç¤Ï²áµî¤Î¥Ú¡¼¥¸¤ÏNG
- if (((substr($page,$pagepattern_len)) < $_date)&&($mode=="future") )continue;
- //view mode¤Ê¤éall OK
- $pagelist[] = $page;
- }
- }
- closedir($dir);
- //echo count($pagelist);
- //*¤³¤³¤«¤é¥¤¥ó¥¯¥ë¡¼¥É³«»Ï
-
- $tmppage = $vars["page"];
- $return_body = "";
- //¤Þ¤º¥½¡¼¥È
- if ($mode == "past"){
- //past mode¤Ç¤Ï¿·¢ªµì
- rsort ($pagelist);
- }else {
- //view mode ¤È future mode ¤Ç¤Ï¡¢µì¢ª¿·
- sort ($pagelist);
- }
-
- //$limit_page¤Î·ï¿ô¤Þ¤Ç¥¤¥ó¥¯¥ë¡¼¥É
- $tmp = $limit_base;
- while ($tmp < $limit_page){
- if (empty($pagelist[$tmp])) break;
- $page = $pagelist[$tmp];
-
- $get["page"] = $page;
- $post["page"] = $page;
- $vars["page"] = $page;
+ global $WikiName,$BracketName,$vars,$get,$post,$hr,$script;
+ global $_err_calendar_viewer_param,$_err_calendar_viewer_param2;
+ global $_msg_calendar_viewer_right,$_msg_calendar_viewer_left;
+ global $_msg_calendar_viewer_restrict;
+
+ //*¥Ç¥Õ¥©¥ë¥ÈÃͤò¥»¥Ã¥È
+ //´ð½à¤È¤Ê¤ë¥Ú¡¼¥¸Ì¾
+ $pagename = "";
+ //ɽ¼¨¤¹¤ë·ï¿ôÀ©¸Â
+ $limit_page = 7;
+ //°ìÍ÷ɽ¼¨¤¹¤ëǯ·î
+ $date_YM = "";
+ //Æ°ºî¥â¡¼¥É
+ $mode = "past";
+ //ÆüÉդΥ»¥Ñ¥ì¡¼¥¿ calendar2¤Ê¤é"-" calendar¤Ê¤é""
+ $date_sep = "-";
+
+
+ //*°ú¿ô¤Î³Îǧ
+ if (func_num_args()>=2){
+ $func_vars_array = func_get_args();
+
+ $pagename = $func_vars_array[0];
+
+ if (isset($func_vars_array[3])){
+ $date_sep = $func_vars_array[3];
+ }
+ if (preg_match("/[0-9]{4}".$date_sep."[0-9]{2}/",$func_vars_array[1])){
+ //»ØÄêǯ·î¤Î°ìÍ÷ɽ¼¨
+ $page_YM = $func_vars_array[1];
+ $limit_base = 0;
+ $limit_page = 31; //¼êÈ´¤¡£31Æüʬ¤ò¥ê¥ß¥Ã¥È¤È¤¹¤ë¡£
+ }else if (preg_match("/this/si",$func_vars_array[1])){
+ //º£·î¤Î°ìÍ÷ɽ¼¨
+ $page_YM = get_date("Y".$date_sep."m");
+ $limit_base = 0;
+ $limit_page = 31;
+ }else if (preg_match("/^[0-9]+$/",$func_vars_array[1])){
+ //nÆüʬɽ¼¨
+ $limit_pitch = $func_vars_array[1];
+ $limit_page = $limit_pitch;
+ $limit_base = 0;
+ $page_YM = "";
+ }else if (preg_match("/([0-9]+)\*([0-9]+)/",$func_vars_array[1],$reg_array)){
+ $limit_pitch = $reg_array[2];
+ $limit_page = $reg_array[1] + $limit_pitch;
+ $limit_base = $reg_array[1];
+ $page_YM = "";
+ }else{
+ return $_err_calendar_viewer_param2;
+ }
+ if (isset($func_vars_array[2])&&preg_match("/^(past|view|future)$/si",$func_vars_array[2])){
+ //¥â¡¼¥É»ØÄê
+ $mode = $func_vars_array[2];
+ }
+
+
+ }else{
+ return $_err_calendar_viewer_param;
+ }
+
+ //*°ìÍ÷ɽ¼¨¤¹¤ë¥Ú¡¼¥¸Ì¾¤È¥Õ¥¡¥¤¥ë̾¤Î¥Ñ¥¿¡¼¥ó¡¡¥Õ¥¡¥¤¥ë̾¤Ë¤Ïǯ·î¤ò´Þ¤à
+ if ($pagename == ""){
+ //pagename̵¤·¤Îyyyy-mm-dd¤ËÂбþ¤¹¤ë¤¿¤á¤Î½èÍý
+ $pagepattern = "";
+ $pagepattern_len = 0;
+ $filepattern = encode($page_YM);
+ $filepattern_len = strlen($filepattern);
+ }else{
+ $pagepattern = strip_bracket($pagename) .'/';
+ $pagepattern_len = strlen($pagepattern);
+ $filepattern = encode($pagepattern.$page_YM);
+ $filepattern_len = strlen($filepattern);
+ }
+
+ //echo "$pagename:$page_YM:$mode:$date_sep:$limit_base:$limit_page";
+ //*¥Ú¡¼¥¸¥ê¥¹¥È¤Î¼èÆÀ
+ //echo $pagepattern;
+ //echo $filepattern;
+
+ $pagelist = array();
+ if ($dir = @opendir(DATA_DIR))
+ {
+ $_date = get_date("Y".$date_sep."m".$date_sep."d");
+ while($file = readdir($dir))
+ {
+ if ($file == ".." || $file == ".") continue;
+ if (substr($file,0,$filepattern_len)!=$filepattern) continue;
+ //echo "OK";
+ $page = decode(trim(preg_replace("/\.txt$/"," ",$file)));
+ //$page¤¬¥«¥ì¥ó¥À¡¼·Á¼°¤Ê¤Î¤«¥Á¥§¥Ã¥¯ ¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢ yyyy-mm-dd
+ $page = strip_bracket($page);
+ if (plugin_calendar_viewer_isValidDate(substr($page,$pagepattern_len),$date_sep) == false) continue;
+
+ //*modeËè¤ËÊ̾ò·ï¤Ç¤Ï¤¸¤¯
+ //past mode¤Ç¤Ï̤Íè¤Î¥Ú¡¼¥¸¤ÏNG
+ if (((substr($page,$pagepattern_len)) > $_date)&&($mode=="past") )continue;
+ //future mode¤Ç¤Ï²áµî¤Î¥Ú¡¼¥¸¤ÏNG
+ if (((substr($page,$pagepattern_len)) < $_date)&&($mode=="future") )continue;
+ //view mode¤Ê¤éall OK
+ $pagelist[] = $page;
+ }
+ }
+ closedir($dir);
+ //echo count($pagelist);
+ //*¤³¤³¤«¤é¥¤¥ó¥¯¥ë¡¼¥É³«»Ï
+
+ $tmppage = $vars["page"];
+ $return_body = "";
+ //¤Þ¤º¥½¡¼¥È
+ if ($mode == "past"){
+ //past mode¤Ç¤Ï¿·¢ªµì
+ rsort ($pagelist);
+ }else {
+ //view mode ¤È future mode ¤Ç¤Ï¡¢µì¢ª¿·
+ sort ($pagelist);
+ }
+
+ //$limit_page¤Î·ï¿ô¤Þ¤Ç¥¤¥ó¥¯¥ë¡¼¥É
+ $tmp = $limit_base;
+ while ($tmp < $limit_page){
+ if (empty($pagelist[$tmp])) break;
+ $page = $pagelist[$tmp];
+
+ $get["page"] = $page;
+ $post["page"] = $page;
+ $vars["page"] = $page;
// ¸½¾õ¤Ç±ÜÍ÷µö²Ä¤¬¤¢¤ë¾ì¹ç¤À¤±É½¼¨¤¹¤ë
if (check_readable($page,false,false)) {
$body = str_replace('$1',$page,$_msg_calendar_viewer_restrict);
}
- $r_page = rawurlencode($page);
- $s_page = htmlspecialchars($page);
- $link = "<a href=\"$script?cmd=edit&page=$r_page\">$s_page</a>";
- $head = "<h1>$link</h1>\n";
- $return_body .= $head . $body;
-
- $tmp++;
- }
-
- //¤³¤³¤Ç¡¢Á°¸å¤Î¥ê¥ó¥¯¤òɽ¼¨
- //?plugin=calendar_viewer&file=¥Ú¡¼¥¸Ì¾&date=yyyy-mm
- $enc_pagename = rawurlencode(substr($pagepattern,0,$pagepattern_len -1));
-
- if ($page_YM != ""){
- //ǯ·îɽ¼¨»þ
- $date_sep_len = strlen($date_sep);
- $this_year = substr($page_YM,0,4);
- $this_month = substr($page_YM,4+$date_sep_len,2);
- //¼¡·î
- $next_year = $this_year;
- $next_month = $this_month + 1;
- if ($next_month >12){
- $next_year ++;
- $next_month = 1;
- }
- $next_YM = sprintf("%04d%s%02d",$next_year,$date_sep,$next_month);
-
- //Á°·î
- $prev_year = $this_year;
- $prev_month = $this_month -1;
- if ($prev_month < 1){
- $prev_year --;
- $prev_month = 12;
- }
- $prev_YM = sprintf("%04d%s%02d",$prev_year,$date_sep,$prev_month);
- if ($mode == "past"){
- $right_YM = $prev_YM;
- $right_text = $prev_YM.">>";
- $left_YM = $next_YM;
- $left_text = "<<".$next_YM;
- }else{
- $left_YM = $prev_YM;
- $left_text = "<<".$prev_YM;
- $right_YM = $next_YM;
- $right_text = $next_YM.">>";
- }
- }else{
- //n·ïɽ¼¨»þ
- if ($limit_base >= count($pagelist)){
- $right_YM = "";
- }else{
- $right_base = $limit_base + $limit_pitch;
- $right_YM = $right_base ."*".$limit_pitch;
- $right_text = sprintf($_msg_calendar_viewer_right,$limit_pitch);
- }
- $left_base = $limit_base - $limit_pitch;
- if ($left_base >= 0) {
- $left_YM = $left_base . "*" . $limit_pitch;
- $left_text = sprintf($_msg_calendar_viewer_left,$limit_pitch);
-
- }else{
- $left_YM = "";
- }
-
- }
- //¥ê¥ó¥¯ºîÀ®
- $s_date_sep = htmlspecialchars($date_sep);
- if ($left_YM != ""){
- $left_link = "<a href=\"$script?plugin=calendar_viewer&file=$enc_pagename&date=$left_YM&date_sep=$s_date_sep&mode=$mode\">$left_text</a>";
- }else{
- $left_link = "";
- }
- if ($right_YM != ""){
- $right_link = "<a href=\"$script?plugin=calendar_viewer&file=$enc_pagename&date=$right_YM&date_sep=$s_date_sep&mode=$mode\">$right_text</a>";
- }else {
- $right_link = "";
- }
-
- //past mode¤Ï<<¿· µì>> ¾¤Ï<<µì ¿·>>
- $return_body .= "<table width =\"100%\"><tr><td align=\"left\">";
- $return_body .= $left_link;
- $return_body .= "</td><td align=\"right\">";
- $return_body .= $right_link;
- $return_body .= "</td></tr></table>";
-
-
- $get["page"] = $tmppage;
- $post["page"] = $tmppage;
- $vars["page"] = $tmppage;
-
-
- return $return_body;
+ $r_page = rawurlencode($page);
+ $s_page = htmlspecialchars($page);
+ $link = "<a href=\"$script?cmd=edit&page=$r_page\">$s_page</a>";
+ $head = "<h1>$link</h1>\n";
+ $return_body .= $head . $body;
+
+ $tmp++;
+ }
+
+ //¤³¤³¤Ç¡¢Á°¸å¤Î¥ê¥ó¥¯¤òɽ¼¨
+ //?plugin=calendar_viewer&file=¥Ú¡¼¥¸Ì¾&date=yyyy-mm
+ $enc_pagename = rawurlencode(substr($pagepattern,0,$pagepattern_len -1));
+
+ if ($page_YM != ""){
+ //ǯ·îɽ¼¨»þ
+ $date_sep_len = strlen($date_sep);
+ $this_year = substr($page_YM,0,4);
+ $this_month = substr($page_YM,4+$date_sep_len,2);
+ //¼¡·î
+ $next_year = $this_year;
+ $next_month = $this_month + 1;
+ if ($next_month >12){
+ $next_year ++;
+ $next_month = 1;
+ }
+ $next_YM = sprintf("%04d%s%02d",$next_year,$date_sep,$next_month);
+
+ //Á°·î
+ $prev_year = $this_year;
+ $prev_month = $this_month -1;
+ if ($prev_month < 1){
+ $prev_year --;
+ $prev_month = 12;
+ }
+ $prev_YM = sprintf("%04d%s%02d",$prev_year,$date_sep,$prev_month);
+ if ($mode == "past"){
+ $right_YM = $prev_YM;
+ $right_text = $prev_YM.">>";
+ $left_YM = $next_YM;
+ $left_text = "<<".$next_YM;
+ }else{
+ $left_YM = $prev_YM;
+ $left_text = "<<".$prev_YM;
+ $right_YM = $next_YM;
+ $right_text = $next_YM.">>";
+ }
+ }else{
+ //n·ïɽ¼¨»þ
+ if ($limit_base >= count($pagelist)){
+ $right_YM = "";
+ }else{
+ $right_base = $limit_base + $limit_pitch;
+ $right_YM = $right_base ."*".$limit_pitch;
+ $right_text = sprintf($_msg_calendar_viewer_right,$limit_pitch);
+ }
+ $left_base = $limit_base - $limit_pitch;
+ if ($left_base >= 0) {
+ $left_YM = $left_base . "*" . $limit_pitch;
+ $left_text = sprintf($_msg_calendar_viewer_left,$limit_pitch);
+
+ }else{
+ $left_YM = "";
+ }
+
+ }
+ //¥ê¥ó¥¯ºîÀ®
+ $s_date_sep = htmlspecialchars($date_sep);
+ if ($left_YM != ""){
+ $left_link = "<a href=\"$script?plugin=calendar_viewer&file=$enc_pagename&date=$left_YM&date_sep=$s_date_sep&mode=$mode\">$left_text</a>";
+ }else{
+ $left_link = "";
+ }
+ if ($right_YM != ""){
+ $right_link = "<a href=\"$script?plugin=calendar_viewer&file=$enc_pagename&date=$right_YM&date_sep=$s_date_sep&mode=$mode\">$right_text</a>";
+ }else {
+ $right_link = "";
+ }
+
+ //past mode¤Ï<<¿· µì>> ¾¤Ï<<µì ¿·>>
+ $return_body .= "<table width =\"100%\"><tr><td align=\"left\">";
+ $return_body .= $left_link;
+ $return_body .= "</td><td align=\"right\">";
+ $return_body .= $right_link;
+ $return_body .= "</td></tr></table>";
+
+
+ $get["page"] = $tmppage;
+ $post["page"] = $tmppage;
+ $vars["page"] = $tmppage;
+
+
+ return $return_body;
}
function plugin_calendar_viewer_action(){
- global $WikiName,$BracketName,$vars,$get,$post,$hr,$script;
- $date_sep = "-";
+ global $WikiName,$BracketName,$vars,$get,$post,$hr,$script;
+ $date_sep = "-";
- $return_vars_array = array();
+ $return_vars_array = array();
- $page = strip_bracket($vars['page']);
- $vars['page'] = '*';
- if (isset($vars['file'])) $vars['page'] = $vars['file'];
+ $page = strip_bracket($vars['page']);
+ $vars['page'] = '*';
+ if (isset($vars['file'])) $vars['page'] = $vars['file'];
- $date_sep = $vars["date_sep"];
+ $date_sep = $vars["date_sep"];
- $page_YM = $vars["date"];
- if ($page_YM == ""){
- $page_YM = get_date("Y".$date_sep."m");
- }
- $mode = $vars["mode"];
+ $page_YM = $vars["date"];
+ if ($page_YM == ""){
+ $page_YM = get_date("Y".$date_sep."m");
+ }
+ $mode = $vars["mode"];
- $args_array = array($vars["page"], $page_YM,$mode, $date_sep);
- $return_vars_array["body"] = call_user_func_array("plugin_calendar_viewer_convert",$args_array);
+ $args_array = array($vars["page"], $page_YM,$mode, $date_sep);
+ $return_vars_array["body"] = call_user_func_array("plugin_calendar_viewer_convert",$args_array);
- //$return_vars_array["msg"] = "calendar_viewer ".$vars["page"]."/".$page_YM;
- $return_vars_array["msg"] = "calendar_viewer ".htmlspecialchars($vars["page"]);
- if ($vars["page"] != ""){
- $return_vars_array["msg"] .= "/";
- }
- if (preg_match("/\*/",$page_YM)){
- //¤¦¡¼¤ó¡¢n·ïɽ¼¨¤Î»þ¤Ï¤Ê¤ó¤Æ¥Ú¡¼¥¸Ì¾¤Ë¤·¤¿¤é¤¤¤¤¡©
- }else{
- $return_vars_array["msg"] .= htmlspecialchars($page_YM);
- }
+ //$return_vars_array["msg"] = "calendar_viewer ".$vars["page"]."/".$page_YM;
+ $return_vars_array["msg"] = "calendar_viewer ".htmlspecialchars($vars["page"]);
+ if ($vars["page"] != ""){
+ $return_vars_array["msg"] .= "/";
+ }
+ if (preg_match("/\*/",$page_YM)){
+ //¤¦¡¼¤ó¡¢n·ïɽ¼¨¤Î»þ¤Ï¤Ê¤ó¤Æ¥Ú¡¼¥¸Ì¾¤Ë¤·¤¿¤é¤¤¤¤¡©
+ }else{
+ $return_vars_array["msg"] .= htmlspecialchars($page_YM);
+ }
- $vars['page'] = $page;
- return $return_vars_array;
+ $vars['page'] = $page;
+ return $return_vars_array;
}
function plugin_calendar_viewer_isValidDate($aStr, $aSepList="-/ .") {
- //$aSepList=""¤Ê¤é¡¢yyyymmdd¤È¤·¤Æ¥Á¥§¥Ã¥¯¡Ê¼êÈ´¤(^^;¡Ë
- if ($aSepList == "") {
- //yyyymmdd¤È¤·¤Æ¥Á¥§¥Ã¥¯
- return checkdate(substr($aStr,4,2),substr($aStr,6,2),substr($aStr,0,4));
- }
- if ( ereg("^([0-9]{2,4})[$aSepList]([0-9]{1,2})[$aSepList]([0-9]{1,2})$", $aStr, $m) ) {
- return checkdate($m[2], $m[3], $m[1]);
- }
- return false;
+ //$aSepList=""¤Ê¤é¡¢yyyymmdd¤È¤·¤Æ¥Á¥§¥Ã¥¯¡Ê¼êÈ´¤(^^;¡Ë
+ if ($aSepList == "") {
+ //yyyymmdd¤È¤·¤Æ¥Á¥§¥Ã¥¯
+ return checkdate(substr($aStr,4,2),substr($aStr,6,2),substr($aStr,0,4));
+ }
+ if ( ereg("^([0-9]{2,4})[$aSepList]([0-9]{1,2})[$aSepList]([0-9]{1,2})$", $aStr, $m) ) {
+ return checkdate($m[2], $m[3], $m[1]);
+ }
+ return false;
}
?>