📄 diary_calendar.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 + -