diff --git a/b2archives.php b/b2archives.php
new file mode 100644
index 0000000000..563e2a90c7
--- /dev/null
+++ b/b2archives.php
@@ -0,0 +1,125 @@
+';
+// this is what will separate dates on weekly archive links
+$archive_week_separator = ' - ';
+
+
+// archive link url
+$archive_link_m = $siteurl.'/'.$blogfilename.$querystring_start.'m'.$querystring_equal; # monthly archive
+$archive_link_w = $siteurl.'/'.$blogfilename.$querystring_start.'w'.$querystring_equal; # weekly archive
+$archive_link_p = $siteurl.'/'.$blogfilename.$querystring_start.'p'.$querystring_equal; # post-by-post archive
+
+
+// over-ride general date format ? 0 = no: use the date format set in Options, 1 = yes: over-ride
+$archive_date_format_over_ride = 0;
+
+
+// options for daily archive (only if you over-ride the general date format)
+$archive_day_date_format = 'Y/m/d';
+
+// options for weekly archive (only if you over-ride the general date format)
+$archive_week_start_date_format = 'Y/m/d';
+$archive_week_end_date_format = 'Y/m/d';
+
+
+// --- //
+
+
+$dateformat=get_settings('date_format');
+$time_difference=get_settings('time_difference');
+
+if (!$archive_date_format_over_ride) {
+ $archive_day_date_format = $dateformat;
+ $archive_week_start_date_format = $dateformat;
+ $archive_week_end_date_format = $dateformat;
+}
+
+if (basename($HTTP_SERVER_VARS['SCRIPT_FILENAME']) == 'b2archives.php')
+ include ('blog.header.php');
+
+if (!isset($querycount)) {
+ $querycount = 0;
+}
+
+$now = date('Y-m-d H:i:s',(time() + ($time_difference * 3600)));
+
+if ($archive_mode == 'monthly') {
+ $arc_sql="SELECT DISTINCT YEAR(post_date), MONTH(post_date) FROM $tableposts WHERE post_date < '$now' AND post_category > 0 ORDER BY post_date DESC";
+ $querycount++;
+ $arc_result=mysql_query($arc_sql) or die($arc_sql.'
'.mysql_error());
+ while($arc_row = mysql_fetch_array($arc_result)) {
+ $arc_year = $arc_row['YEAR(post_date)'];
+ $arc_month = $arc_row['MONTH(post_date)'];
+ echo "';
+ echo $month[zeroise($arc_month,2)].' '.$arc_year;
+ echo '';
+ echo $archive_line_separator."\n";
+ }
+} elseif ($archive_mode == 'daily') {
+ $arc_sql="SELECT DISTINCT YEAR(post_date), MONTH(post_date), DAYOFMONTH(post_date) FROM $tableposts WHERE post_date < '$now' AND post_category > 0 ORDER BY post_date DESC";
+ $querycount++;
+ $arc_result=mysql_query($arc_sql) or die($arc_sql.'
'.mysql_error());
+ while($arc_row = mysql_fetch_array($arc_result)) {
+ $arc_year = $arc_row['YEAR(post_date)'];
+ $arc_month = $arc_row['MONTH(post_date)'];
+ $arc_dayofmonth = $arc_row['DAYOFMONTH(post_date)'];
+ echo "';
+ echo mysql2date($archive_day_date_format, $arc_year.'-'.zeroise($arc_month,2).'-'.zeroise($arc_dayofmonth,2).' 00:00:00');
+# echo $month[zeroise($arc_month,2)]." $arc_year";
+ echo '';
+ echo $archive_line_separator."\n";
+ }
+} elseif ($archive_mode == 'weekly') {
+ if (!isset($start_of_week)) {
+ $start_of_week = 1;
+ }
+ $arc_sql="SELECT DISTINCT YEAR(post_date), MONTH(post_date), DAYOFMONTH(post_date), WEEK(post_date) FROM $tableposts WHERE post_date < '$now' AND post_category > 0 ORDER BY post_date DESC";
+ $querycount++;
+ $arc_result=mysql_query($arc_sql) or die($arc_sql.'
'.mysql_error());
+ $arc_w_last = '';
+ while($arc_row = mysql_fetch_array($arc_result)) {
+ $arc_year = $arc_row['YEAR(post_date)'];
+ $arc_w = $arc_row['WEEK(post_date)'];
+ if ($arc_w != $arc_w_last) {
+ $arc_w_last = $arc_w;
+ $arc_ymd = $arc_year.'-'.zeroise($arc_row['MONTH(post_date)'],2).'-' .zeroise($arc_row['DAYOFMONTH(post_date)'],2);
+ $arc_week = get_weekstartend($arc_ymd, $start_of_week);
+ $arc_week_start = date_i18n($archive_week_start_date_format, $arc_week['start']);
+ $arc_week_end = date_i18n($archive_week_end_date_format, $arc_week['end']);
+ echo "";
+ echo $arc_week_start.$archive_week_separator.$arc_week_end;
+ echo '';
+ echo $archive_line_separator."\n";
+ }
+ }
+} elseif ($archive_mode == 'postbypost') {
+ $requestarc = " SELECT ID,post_date,post_title FROM $tableposts WHERE post_date < '$now' AND post_category > 0 ORDER BY post_date DESC";
+ $querycount++;
+ $resultarc = mysql_query($requestarc);
+ while($row=mysql_fetch_object($resultarc)) {
+ if ($row->post_date != '0000-00-00 00:00:00') {
+ echo "ID.'">';
+ $arc_title = stripslashes($row->post_title);
+ if ($arc_title) {
+ echo strip_tags($arc_title);
+ } else {
+ echo $row->ID;
+ }
+ echo '';
+ echo $archive_line_separator."\n";
+ }
+ }
+}
+
+#echo $querycount."
\n";
+#timer_stop(1,8);
+?>
\ No newline at end of file