⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 diary_calendar.php

📁 极限OA开源系统
💻 PHP
字号:
<?
/********************************************************************************/
/* 极限办公自动化系统 (极限OA)													*/
/* ========================      												*/
/* 欢迎使用 极限OA,在您开始使用之前,请务必完整阅读本软件附带的全部说明档				*/
/********************************************************************************/
/* Welcome to http://www.xsp.cn & http://oa.xsp.cn								*/
/* 技术支持论坛 http://www.1119.net												*/
/********************************************************************************/
/* 商业购买请联系 临海市极限网络有限公司											*/
/* 联系电话: (0576) 5131349	邮件: mkt@xsp.cn	QQ: 562873							*/
/********************************************************************************/
class Calendar{
    var $YEAR,$MONTH,$DAY;
    var $WEEK=array("日","一","二","三","四","五","六");
    var $_MONTH=array(
            "01"=>"一月",
            "02"=>"二月",
            "03"=>"三月",
            "04"=>"四月",
            "05"=>"五月",
            "06"=>"六月",
            "07"=>"七月",
            "08"=>"八月",
            "09"=>"九月",
            "10"=>"十月",
            "11"=>"十一",
            "12"=>"十二"
        );
    var $_FTV=array(
            '0101'=>'元旦','0202'=>'世界湿地日','0207'=>'国际声援南非日','0210'=>'国际气象节',
            '0214'=>'情人节','0301'=>'国际海豹日','0303'=>'全国爱耳日','0308'=>'国际妇女节',
            '0312'=>'植树节<br>孙中山逝世纪念','0314'=>'国际警察日','0315'=>'消费者权益日','0317'=>'中国国医节<br>国际航海日',
            '0321'=>'世界森林日<br>消除种族歧视日<br>世界儿歌日','0322'=>'世界水日','0323'=>'世界气象日','0324'=>'世界防治结核病日',
            '0325'=>'全国中小学生<br>安全教育日','0330'=>'巴勒斯坦国土日','0401'=>'愚人节<br>全国爱国卫生运动月','0407'=>'世界卫生日',
            '0422'=>'世界地球日','0423'=>'世界图书和版权日','0424'=>'亚非新闻工作者日','0501'=>'国际劳动节',
            '0504'=>'中国五四青年节','0505'=>'碘缺乏病防治日','0508'=>'世界红十字日','0512'=>'国际护士节',
            '0515'=>'国际家庭日','0517'=>'世界电信日','0518'=>'国际博物馆日','0520'=>'全国学生营养日',
            '0523'=>'国际牛奶日','0531'=>'世界无烟日','0601'=>'国际儿童节','0605'=>'世界环境日',
            '0606'=>'全国爱眼日','0617'=>'防治荒漠化<br>和干旱日','0623'=>'国际奥林匹克日','0625'=>'全国土地日',
            '0626'=>'国际反毒品日','0701'=>'香港回归纪念<br>中共建党日<br>世界建筑日','0702'=>'国际体育记者日','0707'=>'中国人民抗日<br>战争纪念日',
            '0710'=>'蔷薇盛开日','0711'=>'世界人口日','0730'=>'非洲妇女日','0801'=>'中国建军节',
            '0808'=>'中国男子节','0815'=>'日本无条件投降日','0908'=>'国际扫盲日<br>新闻工作者日','0909'=>'毛泽东逝世纪念',
            '0910'=>'教师节','0914'=>'世界清洁地球日','0916'=>'国际臭氧层保护日','0918'=>'九·一八事变',
            '0920'=>'国际爱牙日','0927'=>'世界旅游日','0928'=>'孔子诞辰','1001'=>'国庆节<br>世界音乐日<br>国际老人节<br>国际音乐日',
            '1002'=>'国际自由斗争日','1004'=>'世界动物日','1006'=>'老人节','1008'=>'全国高血压日<br>世界视觉日',
            '1009'=>'世界邮政日<br>万国邮联日','1010'=>'辛亥革命纪念日<br>世界精神卫生日','1013'=>'世界保健日<br>国际教师节','1014'=>'世界标准日',
            '1015'=>'国际盲人节','1016'=>'世界粮食日','1017'=>'世界消除贫困日','1022'=>'世界传统医药日',
            '1024'=>'联合国日<br>世界发展信息日','1031'=>'世界勤俭日<br>万圣节','1107'=>'十月革命纪念日','1108'=>'中国记者日',
            '1109'=>'全国消防安全<br>宣传教育日','1110'=>'世界青年节','1111'=>'国际科学与和平周<br>(本日所属的一周)','1112'=>'孙中山诞辰',
            '1114'=>'世界糖尿病日','1117'=>'国际大学生节<br>世界学生节','1121'=>'世界问候日<br>世界电视日','1129'=>'国际声援巴勒<br>斯坦人民国际日',
            '1201'=>'世界艾滋病日','1203'=>'世界残疾人日','1205'=>'国际经济和社会<br>发展志愿人员日','1208'=>'国际儿童电视日',
            '1209'=>'世界足球日','1210'=>'世界人权日','1212'=>'西安事变纪念日','1213'=>'南京大屠杀纪念日',
            '1220'=>'澳门回归纪念','1221'=>'国际篮球日','1224'=>'平安夜','1225'=>'圣诞节',
            '1226'=>'毛泽东诞辰纪念','1229'=>'生物多样性日'
        );


    function Calendar($cy,$cm,$cd,$diary_list,$diary_count){
		$this->setYear($cy);
		$this->setMonth($cm);
		$this->setDay($cd);
		$this->diary_list=$diary_list;
		$this->diary_count=$diary_count;
    }

    //设置年份
    function setYear($year){
        $this->YEAR=$year;
    }
    //获得年份
    function getYear(){
        return $this->YEAR;
    }
    //设置月份
    function setMonth($month){
        $this->MONTH=$month;
    }
    //获得月份
    function getMonth(){
        return $this->MONTH;
    }
    //设置日期
    function setDay($day){
        $this->DAY=sprintf("%d",$day);
    }
    //获得日期
    function getDay(){
        return $this->DAY;
    }
    //打印日历
    function OUT(){
        //$this->_env();
        $week=$this->getWeek($this->YEAR,$this->MONTH,$this->DAY);//获得日期为星期几 (例如今天为2003-07-18,星期五)
        $fweek=$this->getWeek($this->YEAR,$this->MONTH,1);//获得此月第一天为星期几
		$lmonth = date("Y-m-",mktime(0,0,0,$this->MONTH - 1,1,$this->YEAR));//获得上月所在的年月
		$nmonth = date("Y-m-",mktime(0,0,0,$this->MONTH + 1,1,$this->YEAR));//获得下月所在的年月
		if($fweek != 0) {
			$l_days = date("t",mktime(0,0,0,$this->MONTH - 1,1,$this->YEAR));
		}
        $fweek2=$this->getWeek($this->YEAR,$this->MONTH + 1,1);//获得此月第一天为星期几
		if($fweek2 != 0) {
			$n_days = date("t",mktime(0,0,0,$this->MONTH + 1,$this->DAY,$this->YEAR));
		}

        
        for($Tmpb=1;$Tmpb<=date("t",mktime(0,0,0,$this->MONTH,$this->DAY,$this->YEAR));$Tmpb++){//打印所有日期(给定月份所有天数)
            if(strcmp($Tmpb,$this->DAY)==0 && strcmp(date('m'),$this->MONTH)==0 && strcmp(date('Y'),$this->YEAR)==0){    //获得当前日期,做标记   strcmp -> 相等
                $tdbgc='#FF9933';
            }else{
                $tdbgc='#e0e0e0';
            }
			$ftvname1 = $this->MONTH < 10?'0'.$this->MONTH:$this->MONTH;
			$ftvname2 = $Tmpb < 10?'0'.$Tmpb:$Tmpb;
			$ftvname = $ftvname1.$ftvname2;
			$ftvvalue = $this->_FTV[$ftvname];
            if($Tmpb==1){
                $out .= "<tr>";        //补充打印
                for($Tmpc=$fweek - 1;$Tmpc>=0;$Tmpc--){
					$tmp_ld = $l_days - $Tmpc;
                    $out .= "<td bgcolor='#F0F0F0' valign='top'>
                                  <table width='100%'>
                                    <tr><td rowspan='2' align='center' nowrap></td><td align='right'  width='2%'><b><font size=4><a href='memassist.php?action=diary&sysaction=add&ttime=$lmonth$tmp_ld'>$tmp_ld</a></font></b></td></tr>
                                    <tr></tr>
                                  </table></td>"; // 打印此月第一天之前的空表格
                }
            }
			$temp_di3 = $temp_di4 = '';
			$temp_di2 = $this->YEAR.'-'.$this->MONTH.'-'.$Tmpb;
			
			if($this->diary_count[$temp_di2] > 0 && $this->diary_count[$temp_di2] < 5) {
				if(is_array($this->diary_list[$temp_di2])) {
					foreach($this->diary_list[$temp_di2] AS $key => $val) {
						$temp_di3 .= "<a href='#' title='标题:$val[title]' onclick=\""."window.showModalDialog('memassist.php?action=diary&sysaction=show&id=$val[id]',window,'dialogWidth:550px;dialogHeight:400px;status:no;help:no;scroll:no')"."\">$val[time]</a><br>";
					}
				}
			}elseif($this->diary_count[$temp_di2] > 0) {
				if(is_array($this->diary_list[$temp_di2])) {
					$temp_di3 = "<div id='yes$temp_di2' class=sc1 style=\"width: 50; height: 58; overflow: hidden;\">";
					foreach($this->diary_list[$temp_di2] AS $key => $val) {
						$temp_di3 .= "<a href='#' title='标题:$val[title]' onclick=\""."window.showModalDialog('memassist.php?action=diary&sysaction=show&id=$val[id]',window,'dialogWidth:550px;dialogHeight:400px;status:no;help:no;scroll:no')"."\">$val[time]</a><br>";
					}
					$temp_di3 .= '</div>';
					$temp_di4 = "<td><a onmouseover=\"return doScrollerIE('up','yes$temp_di2',10)\" onmouseout=\"clearInterval(sRepeat)\"><img src=\"./images/icon_Up.gif\" width='9' height='6' alt='向上滚动' border='0'></A><br>
                                        <br>
                                        <a onmouseover=\"return doScrollerIE('down','yes$temp_di2',10)\" onmouseout=\"clearInterval(sRepeat)\"><img src=\"./images/icon_Down.gif\" width='9' height='6' alt='向下滚动' border='0'></A></td>";
				}
			}
			$out_tmp = "<td align=center bgcolor=$tdbgc height='70' valign='top'>
                                  <table width='100%'>
                                    <tr> 
                                      <td rowspan='2' align='center' nowrap> <font color=#8000FF>$ftvvalue</font><br>$temp_di3
                                        
                                      </td>
                                      <td align='right'  width='2%'><b><font size=4><a href='memassist.php?action=diary&sysaction=add&ttime=$temp_di2'>$Tmpb</a></font></b></td>
                                    </tr>
                                    <tr>$temp_di4</tr></table></td>";
            if(strcmp($this->getWeek($this->YEAR,$this->MONTH,$Tmpb),0)==0){
                $out .= "<tr>$out_tmp";
            }else{
                $out .= $out_tmp;
            }
        }
		if($fweek2 != 0) {
                for($Tmpc=0;$Tmpc<(7-$fweek2);$Tmpc++){
					$tmp_ld = $Tmpc + 1;
                    $out .= "<td bgcolor='#F0F0F0' valign='top'>
                                  <table width='100%'>
                                    <tr><td rowspan='2' align='center' nowrap></td><td align='right' width='2%'><b><font size=4><a href='memassist.php?action=diary&sysaction=add&ttime=$nmonth$tmp_ld'>$tmp_ld</a></font></b></td></tr>
                                    <tr></tr>
                                  </table></td>"; // 打印此月最后一天之后的空表格
                }
		}

        return $out;
    }
    //获得方法内指定的日期的星期数
    function getWeek($year,$month,$day){
        $week=date("w",mktime(0,0,0,$month,$day,$year));//获得星期
        return $week;//获得星期
    }

}




?>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -