3 or ($usr['privs'] > 1 and $evt['uid'] == $usr['ID'])); //boolean $chBox .= strpos($evt['chd'], $date) ? $evt['cmk'] : '☐'; $cBoxAtt = $mayCheck ? "class='chkBox floatL point' onclick=\"checkE(this,{$evt['eid']},'{$date}');\"" : 'class="chkBox floatL arrow"'; $chBox = "{$chBox}"; } if ($set['evtTemplPop']) { $popText = "{$time} {$evt['tix']}
"; if ($eDetails or $evt['mayE']) { $popText .= makeE($evt,$set['evtTemplPop'],'br','
'); } $popText = htmlspecialchars(addslashes($popText)); $popClass = ($evt['pri'] ? 'private' : 'normal').(($evt['mde'] or $evt['r_t']) ? ' repeat' : ''); $popAttr = " onmouseover=\"pop(this,'{$popText}','{$popClass}')\""; } else { $popAttr = ''; } if ($set['eventColor']) { //use event color $eStyle = ($evt['cco'] ? "color:{$evt['cco']};" : '').($evt['cbg'] ? "background-color:{$evt['cbg']};" : ''); } else { //use user color $eStyle = $evt['uco'] ? "background-color:{$evt['uco']};" : ''; } $eStyle = $eStyle ? ' style="'.$eStyle.'"' : ''; $toAppr = ($evt['app'] and !$evt['apd']) ? ' toApprove' : ''; echo "
\n"; $click = ($evt['mayE'] ? 'editE' : 'showE')."({$evt['eid']},'{$date}')"; $onClick = ($eDetails or $evt['mayE']) ? "class='evtTitle point' onclick=\"{$click};\"" : "class='evtTitle arrow'"; echo "{$chBox}{$dTime} {$evt['tix']}\n"; if ($set['showImgInMV'] and preg_match_all($rxIMGTags,$evt['des'].$evt['xf1'].$evt['xf2'],$imgs, PREG_SET_ORDER)) { foreach ($imgs as $img) { echo "
".$img[0]; } } echo "
\n"; if ($set['showEmlInMV'] and preg_match_all($rxELink, $evt['des'].$evt['xf1'].$evt['xf2'], $emls, PREG_SET_ORDER)) { //display mailto links foreach ($emls as $eml) { echo $eml[0]."
"; } } if ($set['showUrlInMV'] and preg_match_all($rxULink, $evt['des'].$evt['xf1'].$evt['xf2'], $urls, PREG_SET_ORDER)) { //display URL links foreach ($urls as $url) { echo $url[0]."
"; } } echo "
\n"; } } //sanity check if (empty($lcV)) { exit('not permitted ('.substr(basename(__FILE__),0,-4).')'); } //launch via script only //initialize $evtList = array(); $cYear = intval(substr($opt['cD'],0,4)); $cMonth = intval(substr($opt['cD'],5,2)); $cDay = intval(substr($opt['cD'],8,2)); // $set['MvWeeksToShow'] if (1 < 2) { //single month $tfDay = mktime(12,0,0,$cMonth,1, $cYear); //Unix time of 1st day of the month $prevDate = date("Y-m-d",mktime(12,0,0,$cMonth-1,1,$cYear)); //1st of prev. month $nextDate = date("Y-m-d",mktime(12,0,0,$cMonth+1,1,$cYear)); //1st of next month //determine total number of days to show, start date, end date $sOffset = date("w",$tfDay) - $set['weekStart']; //offset first day $eOffset = date("t",$tfDay) + $sOffset; //offset last day $totDays = ($eOffset == 28) ? 28 : (($eOffset > 35) ? 42 : 35); //4, 5 or 6 weeks $st = $tfDay - $sOffset * 86400; //start time $et = $st + ($totDays - 1) * 86400; //end time $sDate = date("Y-m-d",$st); $eDate = date("Y-m-d",$et); $header = ''.makeD($opt['cD'],3).''; } else { $tcDate = mktime(12,0,0,$cMonth,$cDay,$cYear); //Unix time of cD $jumpWeeks = $set['MvWeeksToShow'] - intval($set['MvWeeksToShow']*0.5) + 1; $prevDate = date("Y-m-d",$tcDate - $jumpWeeks * 604800); $nextDate = date("Y-m-d",$tcDate + $jumpWeeks * 604800); //determine total number of days to show, start date, end date $totDays = $set['MvWeeksToShow'] * 7; //number of weeks to show $sOffset = (date("w",$tcDate) - $set['weekStart'] + 7) % 7; //offset first day $st = $tcDate - ($sOffset + 7) * 86400; //start time (1 past week) $et = $st + ($totDays - 1) * 86400; //end time $sDate = date("Y-m-d",$st); $eDate = date("Y-m-d",$et); $header = ''.makeD($sDate,3).' - '.makeD($eDate,3).''; } //display header $dateHdr = !$cH ? $header : "{$header}"; $arrowL = ""; $arrowR = ""; echo "
{$arrowL}{$dateHdr}{$arrowR}
\n"; //display days $days = ($mode == 'fm') ? '0123456' : $set['workWeekDays']; //days to show $cWidth = round(98 / strlen($days),1).'%'; //display day headers echo '\n"; echo "\n"; if ($set['weekNumber']) { echo ''; } //add week # column echo ''."\n"; echo ""; if ($set['weekNumber']) { echo ""; } //week # hdr for ($i = 0; $i < 7; $i++) { $cTime = $st + $i * 86400; //current time if (strpos($days,date("w",$cTime)) !== false) { echo ""; } //week days } echo "\n
{$xx['vws_wk']}{$wkDays[($set['weekStart'] + $i) % 7]}
\n\n"; //display calendar echo '\n"; echo "\n"; if ($set['weekNumber']) { echo ''; } //add week # column echo "\n"; //retrieve events retrieve($sDate,$eDate,'guc'); //build grid for ($i = 0; $i < $totDays; $i++) { $cTime = $st + $i * 86400; //current time $cDate = date("Y-m-d",$cTime); //current date $curM = ltrim(substr($cDate, 5, 2),"0"); $curD = ltrim(substr($cDate, 8, 2),"0"); if ($i%7 == 0) { //new week echo ''; if ($set['weekNumber']) { //display week nr $weekX = $mode = 'fm' ? 4 : 5; echo !$cH ? "\n"; } } $dayNr = date("w",$cTime); if (strpos($days,$dayNr) !== false) { $dayBg = ''; $curSeq = 0; if (!empty($evtList[$cDate])) { foreach ($evtList[$cDate] as $evt) { //check if day background should be set if (($evt['dbg'] & 2) and $evt['seq'] > $curSeq) { $dayBg = " style='background:{$evt['cbg']}'"; $curSeq = $evt['seq']; } } } //$set['MvWeeksToShow'] if (1 < 2) { //single month $dow = ($i < $sOffset or $i >= $eOffset) ? 'out' : ((strpos($set['workWeekDays'],$dayNr) === false) ? 'we0' : 'wd0'); } else { $dow = ((strpos($set['workWeekDays'],$dayNr) === false) ? 'we' : 'wd').strval($curM%2); //alternate color per month } $day = $curD.$curM == "11" ? makeD($cDate,2) : (($i == 0 or $curD == "1") ? makeD($cDate,1) : ($set['monthInDCell'] ? makeD($cDate,1,'x3') : $curD)); $class = ($curD == "1" or $curD.$curM == "11") ? 'dom1' : 'dom'; if (!$cH) { $day = "{$day}"; } else{ $day = "{$day}"; } if ($cDate == date("Y-m-d")) { $dow .= ' today'; } elseif ($cDate == $nD) { $dow .= ' slday'; } $cid = (count($opt['cC']) == 1 and $opt['cC'][0] != 0) ? $opt['cC'][0] : 0; $dHead = ($usr['privs'] > 1) ? " class='hyper' onclick=\"newE('{$cDate}',{$cid});\" title=\"{$xx['vws_add_event']}\"" : ''; if ($set['MvWeeksToShow'] > 0 or ($i >= $sOffset and $i < $eOffset)) { //no single month or day inside echo "\n"; } if ($i%7 == 6) { echo "\n"; } //if last day of week, wrap to left } echo "
" : ""; echo date("W",$cTime + 86400)."{$day} \n"; if (!empty($evtList[$cDate])) { showEvents($cDate); } } else { //one month and day outside echo "\n"; } echo "
\n\n"; ?>