After upgrading my site to Drupal 4.5.0 I looked on the drupal site for an updated version of the atom module and found none.
So I updated it myself. The module file is here. This is just a gzipped module file, not a tar, gzip -d it and copy to the modules directory to install. After that /atom/feed link should give you an atom feed.
All I have done is added the atom_menu function required by Drupal 4.5.0 and changed the help link in atom_help.
Here is the code:
1 // $Id: atom.module,v 1.7.2.1 2004/04/29 05:13:03 dries Exp $ 2 3 function atom_help($section) { 4 $output = ""; 5 6 switch ($section) { 7 case "admin/modules#description": 8 $output = t("Provides an Atom 0.3 feed"); 9 break; 10 } 11 return $output; 12 } 13 14 function atom_menu($may_cache) { 15 global $user; 16 $items = array(); 17 if ($may_cache) { 18 $items[] = array('path' => 'atom/feed', 'title' => t('Atom feed'), 19 'callback' => 'atom_feed', 20 'access' => user_access('access content'), 21 'type' => MENU_CALLBACK); 22 } 23 return $items; 24 } 25 26 function atom_feed() { 27 global $base_url; 28 $output = ""; 29 $last_mod = 0; 30 $nodes = db_query_range("SELECT n.nid, u.uid, u.name FROM {node} n, {users} u WHERE n.uid = u.uid AND 31 n.promote = '1' AND n.status = '1' ORDER BY n.created DESC", 0, 15); 32 33 while ($node = db_fetch_object($nodes)) { 34 $item = node_load(array("nid" => $node->nid)); 35 $link = url("node/view/$node->nid", NULL, NULL, true); 36 $output .= " <entry>\n"; 37 $output .= " <title>". $item->title ."</title>\n"; 38 $output .= " <link rel=\"alternate\" type=\"text/html\" href=\"". $link ."\" />\n"; 39 $output .= " <id>$link</id>\n"; 40 $output .= " <issued>". _atom_timestamp2w3dtf($item->created) ."</issued>\n"; 41 $output .= " <modified>". _atom_timestamp2w3dtf($item->changed) ."</modified>\n"; 42 $last_mod = $item->changed; 43 $output .= " <author>\n"; 44 $output .= " <name>". $node->name ."</name>\n"; 45 $output .= " </author>\n"; 46 $output .= " </entry>\n"; 47 } 48 49 header("Content-Type: application/xml"); 50 print "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n"; 51 print "<feed version=\"0.3\" xmlns=\"http://purl.org/atom/ns#\">\n"; 52 print " <title>". variable_get("site_name", "drupal") ." - ". variable_get("site_slogan", "") ."</title>\n"; 53 print " <link rel=\"alternate\" type=\"text/html\" href=\"". $base_url. "\"/>\n"; 54 print " <modified>". _atom_timestamp2w3dtf($last_mod) ."</modified>\n"; 55 print $output; 56 print "</feed>\n"; 57 } 58 59 function _atom_timestamp2w3dtf($timestamp) { 60 $tz = date("O", $timestamp); 61 return date("Y-m-d", $timestamp) ."T". date("H:i:s", $timestamp) . substr($tz, 0, 3) . ":" . substr($tz, 3, 2); 62 }

