function do_entry($file, $yearmonth, $day) { global $months; global $absoluteurl; global $topdir; global $firstdate; $s = ""; $monthnum = substr($yearmonth, 4, 2); $year = substr($yearmonth, 0, 4); // $title = "$months[$monthnum] $day, $year"; if (!tags_match($file)) { return ""; } $title = sprintf("%04d-%02d-%02d", $year, $monthnum, $day); $intitle = get_entrytitle($yearmonth, $day); $mtime = filemtime($file); if ($intitle) { $title = $intitle; } $s .= " <item>\n" . " <title>{$title}</title>\n" . " <pubDate>" . date("r", $mtime) . "</pubDate>\n" . " <link>{$absoluteurl}/{$topdir}/?m={$yearmonth}#{$day}</link>\n" . " <guid isPermaLink=\"true\">{$absoluteurl}/{$topdir}/?m={$yearmonth}#{$day}</guid>\n" . " <description>"; $entrylines = do_entrycontent($yearmonth, $day); if (preg_match('@^\\s*<b>.*</b>\\s*$@', $entrylines[0])) { $entrylines[0] = ""; } foreach ($entrylines as $eline) { $s .= escape($eline); } $s .= " </description>\n" . " </item>\n"; return $s; }
function do_entry($when, $day, $entryformatting) { global $months; $monthnum = substr($when, 4, 2); $year = substr($when, 0, 4); $mode = 'none'; foreach ($entryformatting as $line) { // check for special inline constants $tmp = $line; // $entrytitle = "$months[$monthnum] $day, $year"; $entrytitle = sprintf("%04d-%02d-%02d", $year, $monthnum, $day); // $intitle = get_entrytitle( $when, $day ); // if ( $intitle ) $entrytitle .= ": " . $intitle; $entrytime = date('F j, Y H:i', filemtime("{$when}/{$day}")); $entrylink = "?m={$when}#{$day}"; $entryanchor = "{$day}"; $line = preg_replace('/(?im)<## entrytitle ##>/', $entrytitle, preg_replace('/(?im)<## entrytime ##>/', $entrytime, preg_replace('/(?im)<## entrylink ##>/', $entrylink, preg_replace('/(?im)<## entryanchor ##>/', $entryanchor, $tmp)))); // check for flow control commands if (substr($line, 0, 4) == '### ') { $tmp = trim(substr($line, 4)); if ($tmp == 'ifentrytitle') { // since the title is the date, check for 00... if ($day == '00') { $mode = 'silent'; } } else { if ($tmp == 'endif') { $mode = 'none'; } else { if ($tmp == 'entrycontent') { if ($mode != 'silent') { $entrylines = do_entrycontent($when, $day); foreach ($entrylines as $eline) { print $eline; } } } } } } else { if ($mode != 'silent') { print $line; } } } }