<?php
require_once(dirname(__FILE__)."/../include/common.inc.php");
require_once(DEDEINC."/channelunit.func.php");
$db = new dedesql();
$curtime = time();
//获得时间戳
if(empty($date)){
    $timestamp = $curtime;
    $date =date('Y-n-d',$timestamp);
}else{
    $timestamp = strtotime($date);
}
    $selectedyear = date('Y',$timestamp);
    $selectedmonth = date('n',$timestamp);
    $selectedday = date('d',$timestamp);
    
    $starttime = mktime(0,0,0,$selectedmonth,$selectedday,$selectedyear);
    $endtime = $starttime+86400;$where = '';
$tid = intval($tid);
if($tid > 0){
    $where = " and typeid=$tid";
}
$pagesize = 30;//默认一页30条数据
$maxpages=9;//
$pagepre=4;//分页用
$pageno = isset($_GET["pageno"]) ? intval($_GET["pageno"]) : 1;
$csql = "select count(*) as c from #@__archives,#@__arctype where pubdate>$starttime and pubdate <$endtime $where AND #@__arctype.id = #@__archives.typeid";
$crow = $db->GetOne($csql);
$GLOBALS['datacount']=$datacount = $crow['c'];//总条数
$startrow =($pageno-1) * $pagesize;//开始数
$rili = rili($date,'',true,$db);
if($datacount>0)//获取页码
    {
    $maxpage = $datacount%$pagesize;//
        if($maxpage>0)
        {
        $maxpage= ceil($datacount/$pagesize);
        }else{
        $maxpage= $datacount/$pagesize;//获取总页数
        }    }else{
    $maxpage=0;
    }
if($pageno>$maxpage&&$maxpage!=0){    
    echo "<script>alert('好像没有这么多页数据!');history.go(-1);</script>";
    exit();
}
$query = "select #@__archives.id,#@__archives.pubdate,#@__archives.title,#@__archives.senddate,#@__archives.ismake,#@__archives.arcrank,#@__archives.money,#@__arctype.namerule,#@__arctype.typedir,#@__archives.typeid from #@__archives,#@__arctype where pubdate>$starttime and pubdate <$endtime and ismake=1 $where AND #@__arctype.id = #@__archives.typeid LIMIT $startrow,$pagesize";$db->setquery($query);
$db->execute();
$list = array();
while($row = $db->getarray())
{
   $row['time'] = date('20y-m-d H:i',$row['pubdate']);
    $row['pubdate'] = date('20ymd',$row['pubdate']);
    $list[] = $row;
}require_once(dirname(__FILE__)."/../date/date.htm");function GetArcUrl($aid,$typeid,$timetag,$title,$ismake=0,$rank=0,$namerule="",$artdir="",$money=0){
      return GetFileUrl($aid,$typeid,$timetag,$title,$ismake,$rank,$namerule,$artdir,$money);
  }
function rili($date, $file = '/date/index.php', $nomax = false,$db='')
{
    $curtime = time();
    //获得时间戳
    if(empty($date)){
        $timestamp = $curtime;
    }else{
        $timestamp = strtotime($date);
    }
    
    $selectedyear = date('Y',$timestamp);
    $selectedmonth = date('n',$timestamp);
    $selectedday = date('d',$timestamp);
    //给定月份第一天星期几
    $firstday = date('w',mktime(0,0,0,$selectedmonth,1,$selectedyear));
    ////给定月份所应有的天数
    $lastday = date('t',$timestamp);//给定月份所应有的天数
    
    $preyear = date('Y',mktime(0,0,0,$selectedmonth,0,$selectedyear));
    $nextyear = date('Y',mktime(0,0,0,$selectedmonth,$lastday+1,$selectedyear));
    $premonth = date('n',mktime(0,0,0,$selectedmonth,0,$selectedyear));
    $nextmonth = date('n',mktime(0,0,0,$selectedmonth,$lastday+1,$selectedyear));
    $premonthdays = date('t',mktime(0,0,0,$selectedmonth,0,$selectedyear));
    $nextmonthdays = date('t',mktime(0,0,0,$selectedmonth,$lastday+1,$selectedyear));
    $preday = min($selectedday,$premonthdays);
    $nextday = min($selectedday,$nextmonthdays);
    
    
    //显示日历头
    $days = array("日","一","二","三","四","五","六");
    $months = array("一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月");
    $monthName = $months[$selectedmonth-1];
    
    $str = "<table bgcolor=\"#F0F9EE\">";
    $str .= "<caption valign=\"center\"><a href=\"$file?date=$preyear-$premonth-$preday\"><<</a> <b> $selectedyear  $monthName</b> ";
    if($nomax && mktime(0,0,0,$nextmonth,1,$nextyear) > $curtime){
        $str .= ">></caption>";
    }else{
        $str .= "<a href=\"$file?date=$nextyear-$nextmonth-$nextday\">>></a></caption>";
    }
    $str .= "<tr>";
    for($i=0;$i<7;$i++){
    $str .= "<td width=10%>$days[$i]</td>";
    }
    $str .= "</tr>";
    //空出当月第一天的位置
    $i = 0;
    while($i < $firstday){
        $str .= "<td></td>";
        $i++;
    }
    $day = 0;
    while($day < $lastday){
        if(($i % 7) == 0){
            $str .= "</tr><tr>";
        }
        $day++;
        $i++;
        //查找每天是否存在文章
        $starttime = mktime(0,0,0,$selectedmonth,$day,$selectedyear);
        $endtime = $starttime+86400;
        $csql2 = "select count(*) as c from #@__archives,#@__arctype where pubdate>$starttime and pubdate <$endtime and ismake=1 $where AND #@__arctype.id = #@__archives.typeid";
        $crow = $db->GetOne($csql2);
        $datacount = $crow['c'];
        //所选当天不存在文章
        if($day == $selectedday&&!$datacount)
        {
            $prevdate=date('Y-m-d',$GLOBALS['articleDate']);
            //如果当天之前到月初都没有文章,则找上个月
            if(!$GLOBALS['articleDate'])
            {
                $csql2 = "select pubdate from #@__archives,#@__arctype where pubdate<=$starttime and ismake=1 $where AND #@__arctype.id = #@__archives.typeid order by pubdate desc";
                $crow = $db->GetOne($csql2);
                $prevdate=date('Y-m-d ',$crow['pubdate']);
            }
            header("Location:index.php?date=".$prevdate);
            exit();
        }
        //当天用红色表示    
        if($day == $selectedday){
            $str .= "<td class=calendarToday align=center><font color=#ffffff>$day</font>($datacount)</td>";
        }elseif($nomax && mktime(0,0,0,$selectedmonth,$day,$selectedyear) > $curtime){
                $str .= "<td>$day</td>";
        }elseif($datacount)
        {
            $str .= "<td><a href=\"$file?date=$selectedyear-$selectedmonth-$day\">$day</a>($datacount)</td>";
            $currenttime=mktime(0,0,0,$selectedmonth,$selectedday,$selectedyear);
            if($starttime<=$currenttime)
                $GLOBALS['articleDate']=$starttime;    
        }
        else
                $str.="<td>$day</td>";
    }
    $str .= "</tr></table>";
    return $str;
}?>