'; $calendarmonthend = ''; $calendartablestart = ''; $calendartableend = '
'; $calendarrowstart = ''; $calendarrowend = ''; $calendarheaderdisplay = 1; // set this to 0 if you don't want to display the "Mon Tue Wed..." header $calendarheadercellstart = ''; // please leave $abbr there ! $calendarheadercellend = ''; $calendarheaderabbrlength = 1; // length of the shortened weekday $calendarcellstart = ''; $calendarcellend = ''; $calendaremptycellstart = ''; $calendaremptycellend = ''; $calendaremptycellcontent = ' '; /* stop customizing (unless you really know what you're doing) */ require_once('wp-config.php'); require_once($abspath.$b2inc.'/b2template.functions.php'); require_once($abspath.$b2inc.'/b2functions.php'); require_once($abspath.$b2inc.'/b2vars.php'); $w = $HTTP_GET_VARS['w']; if (isset($calendar) && ($calendar != '')) { $thisyear = substr($calendar,0,4); $thismonth = substr($calendar,4,2); } else { if (isset($w) && ($w != '')) { $thisyear = substr($m,0,4); $w = ''.intval($w); $d = (($w - 1) * 7) + 6; //it seems mysqls weeks disagree with php's $thismonth = $wpdb->get_var("SELECT DATE_FORMAT((DATE_ADD('${thisyear}0101', INTERVAL $d DAY) ), '%m')"); } else if (isset($m) && ($m != '')) { $calendar = substr($m,0,6); $thisyear = substr($m,0,4); if (strlen($m) < 6) { $thismonth = '01'; } else { $thismonth = substr($m,4,2); } } else { $thisyear = date('Y', time()+($time_difference * 3600)); $thismonth = date('m', time()+($time_difference * 3600)); } } $archive_link_m = $siteurl.'/'.$blogfilename.$querystring_start.'m'.$querystring_equal; // original arrow hack by Alex King $ak_previous_year = $thisyear; $ak_next_year = $thisyear; $ak_previous_month = $thismonth - 1; $ak_next_month = $thismonth + 1; if ($ak_previous_month == 0) { $ak_previous_month = 12; --$ak_previous_year; } if ($ak_next_month == 13) { $ak_next_month = 1; ++$ak_next_year; } $ak_first_post = $wpdb->get_row("SELECT MONTH(MIN(post_date)) AS min_month, YEAR(MIN(post_date)) AS min_year FROM $tableposts"); // using text links by default $ak_previous_month_dim = '«  '; $ak_previous_month_active = '«  '; $ak_next_month_dim = '  »'; $ak_next_month_active = '  »'; if ($ak_use_arrows == 1) { if (mktime(0,0,0,$ak_previous_month,1,$ak_previous_year) < mktime(0,0,0,$ak_first_post->min_month,1,$ak_first_post->min_year)) { $ak_previous_month_link = $ak_previous_month_dim; } else { $ak_previous_month_link = $ak_previous_month_active; } if (mktime(0,0,0,$ak_next_month,1,$ak_next_year) > mktime()) { $ak_next_month_link = $ak_next_month_dim; } else { $ak_next_month_link = $ak_next_month_active; } } else { $ak_previous_month_link = ""; $ak_next_month_link = ""; } $end_of_week = (($start_of_week + 7) % 7); $calendarmonthwithpost = 0; while($calendarmonthwithpost == 0) { $arc_sql="SELECT DISTINCT YEAR(post_date), MONTH(post_date), DAYOFMONTH(post_date) AS dom FROM $tableposts WHERE MONTH(post_date) = '$thismonth' AND YEAR(post_date) = '$thisyear' ORDER BY post_date DESC"; $querycount++; $arc_results = $wpdb->get_results($arc_sql); if ($wpdb->num_rows > 0) { $daysinmonthwithposts = '-'; foreach ($arc_results as $arc_row) { $daysinmonthwithposts .= $arc_row->dom.'-'; } $calendarmonthwithpost = 1; } elseif ($calendar != '') { $daysinmonthwithposts = ''; $calendarmonthwithpost = 1; } else { $thismonth = zeroise(intval($thismonth)-1,2); if ($thismonth == '00') { $thismonth = '12'; $thisyear = ''.(intval($thisyear)-1); } } } $daysinmonth = intval(date('t', mktime(0,0,0,$thismonth,1,$thisyear))); $datestartofmonth = $thisyear.'-'.$thismonth.'-01'; $dateendofmonth = $thisyear.'-'.$thismonth.'-'.$daysinmonth; // caution: offset bug inside $calendarblah = get_weekstartend($datestartofmonth, $start_of_week); if (mysql2date('w', $datestartofmonth) == $start_of_week) { $calendarfirst = $calendarblah['start']+1+3600; // adjust for daylight savings time } else { $calendarfirst = $calendarblah['end']-604799+3600; // adjust for daylight savings time } $calendarblah = get_weekstartend($dateendofmonth, $end_of_week); if (mysql2date('w', $dateendofmonth) == $end_of_week) { $calendarlast = $calendarblah['start']+1; } else { $calendarlast = $calendarblah['end']+10000; } $beforethismonth = zeroise(intval($thismonth)-1,2); $afterthismonth = zeroise(intval($thismonth)-1,2); // here the offset bug is corrected if ((intval(date('d', $calendarfirst)) > 1) && (intval(date('m', $calendarfirst)) == intval($thismonth))) { $calendarfirst = $calendarfirst - 604800; } // displays everything echo $calendartablestart."\n"; if ($calendarmonthdisplay) { echo $calendarmonthstart; echo $ak_previous_month_link; echo date_i18n($calendarmonthformat, mktime(0, 0, 0, $thismonth, 1, $thisyear)); echo $ak_next_month_link; echo $calendarmonthend."\n"; } if ($calendarheaderdisplay) { echo $calendarrowstart."\n"; for ($i = $start_of_week; $i<($start_of_week+7); $i = $i + 1) { echo str_replace('$abbr', $weekday[($i % 7)], $calendarheadercellstart); echo ucwords(substr($weekday[($i % 7)], 0, $calendarheaderabbrlength)); echo $calendarheadercellend; } echo $calendarrowend."\n"; } echo $calendarrowstart."\n"; $newrow = 0; $j = 0; $k = 1; // original tooltip hack by Alex King if ($ak_use_tooltip_titles == 1) { $ak_days_result = $wpdb->get_results("SELECT post_title, post_date FROM $tableposts WHERE YEAR(post_date) = '$thisyear' AND MONTH(post_date) = '$thismonth' AND post_status = 'publish'"); $ak_day_title_array = array(); if ($ak_days_result) { foreach($ak_days_result as $ak_temp) { $ak_day_title_array[] = $ak_temp; } } if (strstr($HTTP_SERVER_VARS["HTTP_USER_AGENT"], "MSIE")) { $ak_title_separator = "\n"; $ak_trim = 1; } else { $ak_title_separator = ", "; $ak_trim = 2; } } for($i = $calendarfirst; $i<($calendarlast+86400); $i = $i + 86400) { if ($newrow == 1) { if ($k > $daysinmonth) { break; } echo $calendarrowend."\n"; //if (($i+86400) < ($calendarlast+86400)) { echo $calendarrowstart."\n"; //} $newrow = 0; } if (date('m',$i) != $thismonth) { echo $calendaremptycellstart; echo $calendaremptycellcontent; echo $calendaremptycellend; } else { $k = $k + 1; echo $calendarcellstart; $calendarblah = '-'.date('j',$i).'-'; $calendarthereisapost = ereg($calendarblah, $daysinmonthwithposts); $calendartoday = (date('Ymd',$i) == date('Ymd', (time() + ($time_difference * 3600)))); if ($calendarthereisapost) { // original tooltip hack by Alex King if ($ak_use_tooltip_titles == 1) { // check to see if we want to show the tooltip titles $ak_day_titles = ""; foreach($ak_day_title_array as $post) { if (substr($post->post_date, 8, 2) == date('d',$i)) { $ak_day_titles = $ak_day_titles.htmlspecialchars(stripslashes($post->post_title)).$ak_title_separator; } } $ak_day_titles = substr($ak_day_titles, 0, strlen($ak_day_titles) - $ak_trim); echo ''; } else { echo ''; } } if ($calendartoday) { echo ''; } echo date('j',$i); if ($calendartoday) { echo ''; } if ($calendarthereisapost) { echo ''; } echo $calendarcellend."\n"; } $j = $j + 1; if ($j == 7) { $j = 0; $newrow = 1; } } echo $calendarrowend."\n"; echo $calendartableend; ?>