the big "clean URL" patch: Over the weekend, [dries] bit the bullet and converted every single URL in Drupal's code. meaning we'll [can] have clean URLs like http://foo.com/archive/2003/01/06, http://foo.com/user/42, http://foo.com/blog, and so on.. meaning, for the code:
drupal_url(array("mod" => "search", "op" => "bla"), "module"[, $anchor = ""])
with the first url part being the module, the second (typically) being the operation ($op); more arguments are handled differently per module convention.
l("view node", array("op" => "view", "id" => $nid), "node"[, $anchor = "", $attributes = array()])
l("view node", "node/view/$nid"[,$attributes = array(), $query = NULL])
lm(), which meant "module link" and used to be
module.php?mod=bla&op=blub..., is now
l("title", "bla/blub/..."); and
la(), which meant "admin link" and used to be
admin.php?mod=bla&op=blub..., is now
- After fixing those functions, you'll need to edit your _page() function and possibly others so that they get their arguments using the arg() function (see includes/common.inc. These arguments used to be globals called "mod", "op", "id" etc. now these same arguments must be accessed as arg(1), arg(3), for example.
theme("function"). see [drupal-devel] renaming 2 functions, [drupal-devel] theme("function") vs $theme->function() and [drupal-devel] [CVS] theme()
<module>_settings()- see [drupal-devel] renaming 2 functions. note that doesn't get an extra menu entry, but
is accessed via "site configuration > modules > modules settings"
the administration pages got changed quite a lot to use a "database driven link system" and become more logical/intuitive - see [drupal-devel] X-mas commit: administration pages. this first try resulted in poor performance and a not-so-good api, so it got refactored - see [PATCH] menus. this, as of time ax is writing this, isn't really satisfying, neither (you cannot build arbitrary menu-trees, some forms don't work (taxonomy > add term), ...), so it probably will change again. and i won't write more about this here.
well, this: you use
menu()to add entries to the admin menu.
menu("admin/node/nodes/0", "new or updated posts", "node_admin", "help", 0);adds a menu entry "new or updated posts" 1 level below "post overview" (admin/node/nodes) and 2 level below "node management" (admin/node) (ie. at the 3. level), with a weight of 0 in the 3. level, with a line "help" below the main heading. for the callback ("node_admin") ... ask dries or zbynek
one more note, though: you do not add
<module>_settings()to the menu (they automatically go to "site configuration > modules > module settings" - you only add
[from comment_is_new function lost]
+ node_is_new($comment->nid, $comment->timestamp)
please add / update / correct!