Uiyngk?

Er zijn zo van die momenten dat ik bekijk wat ik een maand of twee geleden geschreven heb en dat ik mij afvraag what the drat was I thinking:

function getCalendar(thisDate,beginDay,stopDay) 
  dim ret
  dim startday, endday, prv, nxt, totalTD, dayTmp, calTmp
  
  ret=""
  if (thisDate="") then 
    thisDate=now()
  end if
  
  daysInMonth=day(dateadd("d",-1,dateadd("m",1,dateserial(year(thisdate),month(thisdate),1))))
  startday=Weekday(dateserial(year(thisdate),month(thisdate),1),vbMonday)
  endday=Weekday(dateserial(year(thisdate),month(thisdate),daysInMonth),vbMonday)
  totalTD=daysInMonth+(startday-1)+(7-endday)
    
  prv=DateAdd("m",-1,thisDate)
  nxt=DateAdd("m",1,thisDate)
  
  ret=ret&"<div class=""colbox1""><table id=""calendar"" cellspacing=""0"" cellpadding=""0"" summary="""&pageCalendarSummary&""">"
  ret=ret&"<caption class=""nav""><a href=""events/"&year(prv)&"/"&month(prv)&""" title="""&calendarPrevMonth&""">««</a> "
  ret=ret&"<a href=""events/"&year(thisDate)&"/"&month(thisDate)&""" title="""&MonthName(Month(thisDate))&" "&year(thisDate)&""">"
  ret=ret&MonthName(Month(thisDate))&" "&year(thisDate)
  ret=ret&"</a> <a href=""events/"&year(nxt)&"/"&month(nxt)&""" title="""&calendarNextMonth&""">»»</a></caption>"
  ret=ret&"<tr>"
  for f=1 to 7
    dayname=WeekdayName(f,false,vbMonday)
    ret=ret&"<th scope=""col"" abbr=""&dayname&"" title=""&dayname&"">"&ucase(left(dayname,1))&"</th>"
  next
  ret=ret&"</tr>"
  
  
  qry="select datefrom, case when dateuntil is null then datefrom else dateuntil end dateuntil from vwNewsAll where event=1 and "
  qry=qry&"((month(datefrom)="&month(thisDate)&" or month(dateuntil)="&month(thisDate)&") or "
  qry=qry&"(month(datefrom)< ="&month(thisDate)&" and month(dateuntil)>="&month(thisDate)&")) order by datefrom"
  rs.Open qry, cn
  
  dim eventDays(33)
    
  while (not(rs.EOF))
    'ret=ret&rs.Fields("datefrom")&"--"&rs.Fields("dateuntil")&"<br />"
    'ret=ret&month(rs.Fields("datefrom"))&" "
    
    tmpStartDay=rs.Fields("datefrom")
    tmpEndDay=rs.Fields("dateuntil")
    if (tmpStartDay<dateserial (year(thisDate), month(thisDate), 1)) then
      tmpStartDay=1
    else
      tmpStartDay=day(tmpStartDay)
    end if
    if (tmpEndDay>DateSerial(year(thisDate), month(thisDate), daysInMonth)) then
      tmpEndDay=daysInMonth
    else
      tmpEndDay=day(tmpEndDay)
    end if
    for q=tmpStartDay to tmpEndDay
      eventDays(q)=1
    next 
    
    rs.MoveNext
  wend

  rs.Close
  
  dayTmp=0
  for f=1 to totalTD
    calTmp=f-startday+1
    if (dayTmp=0) then
      ret=ret&"<tr>"
    end if
    if (DateSerial(year(thisDate), month(thisDate), calTmp)=dateserial(year(now()),month(now()),day(now()))) then
      ret=ret&"<td class=""today"">"
    elseif (calTmp< =stopDay and calTmp>=beginDay) then
      ret=ret&"</td><td class=""eventday"">"
    else
      ret=ret&"</td><td>"
    end if
    if ((f<startday ) or (f>(daysInMonth+startday-1))) then
      ret=ret&" "
    else
      if (eventDays(calTmp)=1) then
        ret=ret&"<a href=""events/"&year(thisDate)&"/"&month(thisDate)&"/"&calTmp&""">"&calTmp&"</a>"
      else
        ret=ret&calTmp
      end if
    end if
    ret=ret&"</startday></td>"
    if (dayTmp=6) then
      ret=ret&"</tr>"
    end if
    if (dayTmp=6) then
      dayTmp=0
    else
      dayTmp=dayTmp+1
    end if
  next
  
  ret=ret&"</dateserial></table>"
  ret=ret&"<ul class=""callinks"">"
  ret=ret&"<li><a href=""events/"">Current/upcoming</a></li>"
  ret=ret&"<li><a href=""events/thisweek/"">This week</a></li>"
  ret=ret&"<li><a href=""events/nextweek/"">Next week</a></li>"
  ret=ret&"<li><a href=""events/"&year(now())&"/"&month(now())&""">This month</a></li>"
  ret=ret&"</ul></div>"
  getCalendar=ret

end function

Nope: geen flauw gedacht. Your guess is as good as mine.

Geschreven al luisterend naar: Arbeid Adelt! – Des duivels oorkussen – Nergens heen

Elders over misschien hetzelfde

15.02.2005: Open Source Event Calendar | 22.03.2006: Debugging | 19.07.2013: 11% | 25.03.2013: Op zoek naar volk | 28.01.2013: Evaluatie | 08.01.2013: It’s alive! | 06.01.2013: Einde vakantie, begin 2013 | 28.12.2012: De laatste | 20.12.2012: Een dagje Amsterdam | 15.12.2012: Vergaderingen, vergaderingen

2 Comments

  • Vreemd, als ik uw “over mezelf” lees, vraag ik mij af: waar heeft die mens dat allemaal geleerd? Heb zelf ook in een ver verleden rechten gestudeerd, ondertussen in een half IT half marketing omgeving terechtgekomen… Maar dit soort dingen, nooit aan toegekomen.
    Ook ooit echt goesting voor gehad, eigenlijk.
    (alhoewel, ik herinner mij een cursus “basic voor beginners”, in het middelbaar :-)

Zeg uw gedacht

Navigatie

Vorige entry:

Volgende entry:

» homepagina, archief

Vriendjes

<insert standard disclaimer>

Alles wat hier staat is mijn eigen opinie. Het wordt niet nagelezen of goedgekeurd door mijn werkgever voor het on-line komt, en ik bied geen enkele garantie voor kwaliteit of correctheid.

Mijn werkgever is het niet noodzakelijk eens met wat ik schrijf, en het spreekt vanzelf dat hij dan ook op geen enkele wijze aansprakelijk kan zijn voor wat ik hier publiceer.