The syntax for db_query_range() was enhanced so it matches db_query(). So
you may pass extra arguments of the SQL statement which are checked via
check_query() and then substituted into the SQL statement. After these
optional arguments, you always pass $from and $count parameters which
define your range. Most often, the $from is 0 and the count is the max
number of records you want returned. Patch by Moshe.
- The pager_query() function for PEAR was enhanced so that it adds proper
GROUP BY statement counting the number of records to be paged. Patch by
James Arthur.
- MSSQL database scheme by Moshe.
- Added node_admin_settings() to let users set node defaults.
* Added _nodeapi("conf")
- Modified form_checkbox() to unset options. (Modified the patch from Ax.)
- Removed the _save() hook.
- Fixed a logical flaw in field_get() and field_set() which would break
moderation.
- Moved some admin menus around and cleaned up some typos.
- Removed all instances of '$user->nodes'.
- Committed Moshe's taxonomy patch - minus the node_compact_list() bit. It needs a bit more thought/work. This patch changes the links of taxonomy pages/feeds so update your custom code and themes accordingly!
Themes should now use "taxonomy_link("taxonomy terms", $node)" to get an array of taxonomy term links. The old construct is deprecated and should be changed.
// old theme blob:
if (function_exists("taxonomy_node_get_terms")) {
foreach (taxonomy_node_get_terms($node->nid) as $term) {
$terms[] = l($term->name, NULL, array(), "or=$term->tid");
}
}
// new theme blob:
if (module_exist("taxonomy")) {
$terms = taxonomy_link("taxonomy terms", $node);
}
// old URL:
http://foo.com/index.php?or=1,2
// new URL:
http://foo.com/?q=taxonomy/page/or/1,2
+ Removed the "post content" permission and replaced it by more fine-grained permissions such as "maintain static pages", "maintain personal blog", "maintain stories", etc.
o Usability improvements to teasers:
+ Teaser forms are no more. Teasers are extracted automatically but can also be instructed using a delimiter "---". Furthermore, when a post it too short for a teaser, the user won't be bother with teaser stuff anymore.
+ Added an option to set the teaser length, or to disable teasers all together.
+ When previewing a post, both the short (if any) and the full version of a post are shown. This addresses a common complaint; for example, when writing a book page there was no way you could preview the short version of your post.
+ Forum posts can be teasered now. This is particularly helpful in the context of drupal.org where we promote forum topics.
o Bugfix: replaced all PHP short tags (<?) with long tags (<?php).
o Bugfix: removed hard-coded dependence on comment module.
o Bugfix: when the queue module was disabled, it was not possible to approve updated book pages.
o Bugfix: applied modified version of Marco's node_teaser() fix.
- Adds more title info to each line in the block: now showing author and number of comments in a unified way accross all modules.
- Added pager support to blog module.
- Blog module now uses standard node view, not its own hack which is more theme friendly (http://www.drupal.org/node.php?id=133).
- Blog module now uses node_feed() function for making RSS feeds. since all feeds are now consolidated, a couple tweaks to node_feed() and format_rss_* would lead us to support new RSS formats easily.
- Fixed bugs where unpublished entries were displayed.
"This patch to theme.inc adds the ability for modules to insert HTML
into the <HEAD> section of all web pages. The additional modules in
this directory [ed: blog.module] demonstate possible uses for the
new _head() hook."
"This is a simple, generic pager for Drupal-CVS. It is designed to be
easily themeable and expandable. The code is highly-commented to
enhance readability."
"Pagers are constructed by combining the provided pieces (all of which
can be easily modified to display the text or image you prefer) into
your custom pager."
* Statistics module fixes by Jeremy:
- removed superfluous check for existence of watchdog()
- saving changes in admin page displays status and returns same page
- no longer return 1971/01/01 in "view statistics" table
- switched from "!=" to "<>" in SQL queries for ANSI-SQL compliance
- switched from "MAX(timestamp) as timestamp" to "MAX(timestamp) as
max_timestamp" moving towards ANSI-SQL compliance.
* Added a "theme_item_list" function to format itemized lists. Also
changed a couple of modules to take advantage of it. Makes for a
more consistent UI.
correctly. Patch by Stefan.
- Added missing t() functions and improved the %x directives for
better readability and to ease the process of translating your
site. Patches by Stefan.
- Made two small additions to the 'code-clean.sh' script; it will
now remove patch related junk.
NOTES:
- I removed the · related bits. Let's tackle these later on
in a separate patch after we got some sort of consensus.
- I removed the 'module_exist("drupal")' check in the user module;
I *think* it is incomplete and therefore incorrect.
- Stefan, try using quotes in your translations and check whether
everything still works. Example: translate the "Create account"
button to "Create \"haha\" account \'hihi\'" and see if you can
still create new accounts. Maybe automate this using a quick
hack in the locale module ...
+ Blocks are not longer called if not rendered: major performance
improvement.
+ Fixed some bugs (preview option was broken, path option was broken).
+ Removed "ascii"-type blocks.
+ Added permission to for "PHP blocks"
+ ...
NOTES:
+ You'll want to run "update.php":
ALTER TABLE blocks DROP remove;
ALTER TABLE blocks DROP name;
+ You'll want to update your custom modules as well as the modules in
the contrib repository. Block function should now read:
function *_block($op = "list", $delta = 0) {
if ($op == "list") {
return array of block infos
}
else {
return subject and content of $delta block
}
}
- title of "blog it" item is used as default node title.
- added link to news feed admin pages on import_page.
- "blog it" link only shows when the blog module is available.
- removed admin options for queue and comment module if the modules are not
loaded.
- nodes are now auto promoted when queue module isn't enabled.
- moderation result block is now visible by the node author.
- fixed comment flat list view missing 1 comment.
- changed update.php around a bit.
* security check isn't in effect if the db hasn't been updated.
* instructions re-organized.
* fixed some minor updates.
- updated database.mysql done by UnConeD.
- changelog update.
- fixed access checks on the register form, do this before you enter the
_save function. If registrations are disabled the register link will
no longer show (again).
- changed » to », using the names of entities are better than
the numbers.
- fixed user information being set when account is registered (properly this
time, really!)
- reversed the if(!...) commit.
- node_add specifies more defaults.
- added link to blog entries from user page.
- updated node modules not to cause errors when taxonomy module is disabled.
- added %date variable to user mail configuration.
- added hyperlinks to admin.php?mod=system (site configuration) for easy access.
- usual coding style and xhtml fixes.
+ Changed the db_query() API.
+ Wrapped all links in l(), lm(), la(), ..., drupal_url() functions.
+ XHTML-ified some HTML.
+ Wrapped a lot of text in the administrative pages in a t()
function.
+ Replaced all $REQUEST_URI/$PATH_INFOs by request_uri().
+ Small bugfixes (eg. bug in book_export_html() and clean-ups (eg.
RSS code).
+ Fixed some bugs in the taxonomy module (eg. tree making bug), added
new functionality (eg. new APIs for use by other modules), included
Moshe's taxonomy extensions, and some documentation udpates.
+ ...
for the meta system. The patches add some extra functionality to the
comment system (for example, comments can be set read-only) and fix a
couple of small problems.
+ I integrated the required SQL updates from the varius *.mysql files
into the "update.php" script. Upgrading should be easy ...
+ I did not apply/commit the "user.diff" as requested by Marco ...
+ I didn't know what to do with "forum.module" and "forum2.module":
what do you want me to do with it Marco? Which one should go in?
+ Can we remove "node_index()" now; both from "node.module" and the
themes?
+ Thanks Marco!
Committing Changes by Moshe Weitzman:
- admin_user_account(), user_edit(), and user_view() no longer have any
hard code for authentication modules. instead authentication modules
implement the _user hook.
- fixed a couple 'help' typos.
- linked the 'REGISTER' text in the login block to the register page.
this page now advertises DA better if site employs DA.
- admins may now edit everything about a user account (was a feature
request).
- user #1 may now login immediately, in addition to receiving his
password via email.
Other changes:
- modules and themes are now enabled/disabled in the administrative /
settings / modules | themes pages. Requires SQL update and things must
be enabled before your site returns to normal. TODO: enable all
functionality. (For now just do UPDATE system SET status = 1;)
- removed $themes from conf.php.
- added a $theme->system() function where theme can specify settings.
All themes in the Drupal CVS have been updated to use this.
- added _system hook to modules. TODO: update modules to use this.
- changed strange use of sprintf to the usual strtr. The disadvantage of
sprintf is that it requires translations to keep the string order,
which may not be possible in all languages.
- an invalid/nonexisting theme in a user profile will now fallback to the
BaseTheme instead of crashing.
can jump directly to a certain date in the archives. Also made
the calendar link to itself such that it is self-contained.
- Code beautifications: quoted a lot of arrays, removed dead code
and simplified a few things.
- Replaced the Calendar class by one function "calendar_display":
using a class (or class instance, or object) doesn't make sense
in the archives' case.
- Renamed "calendar.module" to "archive.module".
- Fixed a /problem/ with node settings not always being saved like
expected.
- Reorganized the user menu: renamed a couple of links for clarity
and structure.
- Fixed a few typos.