listday_cal_month.php
来自「极限OA开源系统」· PHP 代码 · 共 160 行
PHP
160 行
<?
/********************************************************************************/
/* 极限办公自动化系统 (极限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"=>"十二"
);
function Calendar($time,$diary_list,$diary_count){
$this->setYear(date('Y',$time));
$this->setMonth(date('m',$time));
$this->setDay(date('d',$time));
$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';
}
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>$tmp_ld</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)) {
foreach($this->diary_list AS $key => $val) {
if($val[tdate] == $temp_di2)
$temp_di3 .= "<a href='#' title='标题:$val[title]' onclick=\""."window.showModalDialog('dailyop.php?action=listday&sysaction=show&id=$val[id]',window,'dialogWidth:550px;dialogHeight:500px;status:no;help:no;scroll:no')"."\">$val[title]</a><br>";
}
}
}elseif($this->diary_count[$temp_di2] > 0) {
if(is_array($this->diary_list)) {
$temp_di3 = "<div id='yes$temp_di2' class=sc1 style=\"width: 50; height: 58; overflow: hidden;\">";
foreach($this->diary_list AS $key => $val) {
if($val[tdate] == $temp_di2)
$temp_di3 .= "<a href='#' title='标题:$val[title]' onclick=\""."window.showModalDialog('dailyop.php?action=listday&sysaction=show&id=$val[id]',window,'dialogWidth:550px;dialogHeight:500px;status:no;help:no;scroll:no')"."\">$val[title]</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>$temp_di3
</td>
<td align='right' width='2%'><b><font size=4>$Tmpb</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>$tmp_ld</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 + =
减小字号Ctrl + -
显示快捷键?