- Patch #10308 by ccourtne: performance improvements: comment statistics are now cached in a new SQL table which significantly improves performance of the forum block and the forum pages. These pages are about 3 times faster now!
Here's an overview of the changes:
1) Multiple Input formats: they are complete filter configurations (what filters to use, in what order and with which settings). Input formats are admin-definable, and usage of them is role-dependant. For example, you can set it up so that regular users can only use limited HTML, while admins can free HTML without any tag limitations.
The input format can be chosen per content item (nodes, comments, blocks, ...) when you add/edit them. If only a single format is available, there is no choice, and nothing changes with before.
The default install (and the upgrade) contains a basic set of formats which should satisfy the average user's needs.
2) Filters have toggles
Because now you might want to enable a filter only on some input formats, an explicit toggle is provided by the filter system. Modules do not need to worry about it and filters that still have their own on/off switch should get rid of it.
3) Multiple filters per module
This was necessary to accomodate the next change, and it's also a logical extension of the filter system.
4) Embedded PHP is now a filter
Thanks to the multiple input formats, I was able to move the 'embedded PHP' feature from block.module, page.module and book.module into a simple filter which executes PHP code. This filter is part of filter.module, and by default there is an input format 'PHP', restricted to the administrator only, which contains this filter.
This change means that block.module now passes custom block contents through the filter system.
As well as from reducing code duplication and avoiding two type selectors for page/book nodes, you can now combine PHP code with other filters.
5) User-supplied PHP code now requires <?php ?> tags.
This is required for teasers to work with PHP code. Because PHP evaluation is now just another step in the filter process, we can't do this. Also, because teasers are generated before filtering, this would result in errors when the teaser generation would cut off a piece of PHP code.
Also, regular PHP syntax explicitly includes the <?php ?> tags for PHP files, so it makes sense to use the same convention for embedded PHP in Drupal.
6) Filter caching was added.
Benchmarking shows that even for a simple setup (basic html filtering + legacy URL rewriting), filtercache can offer speedups. Unlike the old filtercache, this uses the normal cache table.
7) Filtertips were moved from help into a hook_filter_tips(). This was required to accomodate the fact that there are multiple filters per module, and that filter settings are format dependant. Shoehorning filter tips into _help was ugly and silly. The display of the filter tips is done through the input format selector, so filter_tips_short() no longer exists.
8) A more intelligent linebreak convertor was added, which doesn't stop working if you use block-level tags and which adds <p> tags.
+ the confirmation before deleting a comment was missing a check_output.
+ after editing a comment, two pages were shown (two calls to theme('page',..)), replaced this by a drupal_goto.
* improves the doxygentation and help text.
* deletes comment_admin and comment_page; using proper callbacks instead.
* related/modified callbacks/menus/functions were tweaked to not use arg() at all.
* the "settings" subtab was weighted to -10 so it'd appear first (in prep of JonBob's local default).
* moderation pages weren't properly showing defined votes or thresholds; fixed.
* when moderation votes or thresholds didn't exist, no error stating as such was shown; fixed.
* we show "submit votes" on the moderation votes page only when votes actually exist.
* fixes the (broken in CVS) comment/reply and comment/edit features.
* fixes the (broken in CVS) "save settings" for comment view options and comment moderation.
In addition I:
* fixed a couple warnings introduced by Morbus' patch.
* fixed a couple translation bugs.
* fixed comment_node_url().
I also found that:
* the collapsed comment views (i.e. 'threaded list - collapsed) are broken.
forms using the $required argument of the form_ functions.
- Replaced all Optional's and Required's from the taxonomy forms with proper
use of the form_ functions.
Please check your contributed modules too!
* The _validate hook and the _nodeapi('validate') hook of the node API (1) no longer take an 'error' parameter and (2) should no longer return an error array. To set an error, call form_set_error().
* The _form hook of the node module no longer takes a form hook and should not worry about displaying errors. Ditto for _nodeapi('form_post') and _nodeapi('form_pre').
+ Changed menu.inc to generate two separate lists instead of nested lists:
that seems to be the only alternative to get rid of absolute positioning.
+ Changed the tabs code to be more sexy and put the code in misc/drupal.css
so all themes are automagically updated.
CHANGES
-------
+ Introduced tabs. First, we extended the menu system to support tabs. Next, a tab was added for every link that was (1) an administrative action other than the implicit 'view' (2) relevant to that particular page only. This is illustrated by the fact that all tabs are verbs and that clicking a page's tab leads you to a subpage of that page.
+ Flattened the administration menu. The tabs helped simplify the navigation menu as I could separate 'actions' from 'navigation'. In addition, I removed the 'administer > configuration'-menu, renamed 'blocks' to 'sidebars' which I hope is a bit more descriptive, and made a couple more changes. Earlier, we already renamed 'taxonomy' to 'categorization' and we move 'statistics' under 'logs'.
+ Grouped settings. All settings have been grouped under 'administer > settings'.
TODO
----
+ Update core themes: only Xtemplate default supports tabs and even those look ugly. Need help.
+ Update contributed modules. The menu() hook changed drastically. Updating your code adhere the new menu() function should be 90% of the work. Moreover, ensure that your modue's admin links are still valid and that URLs to node get updated to the new scheme ('node/view/x' -> 'node/x').
+ Introduced two new functions:
1. form_set_error($name, $message): files an error against the form
element with the specified $name.
2. form_has_errors(): returns true if errors has been filed against
form elements.
+ Updated the form handling:
1. The form_ functions will add 'class="error"' when a form field
has been found to be erroneous.
2. The error message is passed to theme_form_element() when the
particular form field has been found to be erroneous.
+ I updated the user and profile module to take advantage of these new
functions.
+ IMPORTANT: the _user() hook changed. The 'validate' case should no
longer retun an error message when something goes wrong but should
set it with form_set_error().
anonymous usernames in comments. It does not solve all my problems, but
others claim it works as advertised. I'm committing this because it does
fix some pending issues (even though that might not be the end of it).
made it possible to enforce a username/e-mail address. Based on
James Seng's work there are now 3 radio buttons:
( ) Anonymous users may not enter contact information
( ) Anonymous users may leave contact information
( ) Anonymous users must leave contact information
- Fixed a bug in the default theme_comment_view() function.
- Added permalinks for comments. Requested by Michael and Christina.
Maintainers of contributed themes might want to add permalinks too.
TODO:
- Fix the interaction design of the submission form: the page you are
directed to and the validation of the contact information.
- Changing the comment viewing options appears to be broken?
administrators will be able to define a custom 403 page, just as they
can define 404 pages now.
This needs to be documented in the "Changes since / migrating to ..."
pages.
configurable! Menu items can be disabled, repositioned, added and
so on.
Upgrading to requires you to run update.php.
This functionality depricates some of the 'navigation modules' in the
contributions repository. Furthermore, modules can now 'suggest'
menu items and site adminstrators can choose to enable them. Modules
in the contributions repository should try to take advantage of this.
+ Updated the _user() hook's "$type == 'view'" case to match the
"$type == 'edit'" case. That is, both have to return an associtive
array of the format array('category' => 'fields').
+ Updated the profile pages to group fields by category. Made possible
thanks to the above change.
+ Moved logic out of the theme_ functions.
+ Added a 'created' field to the users table and renamed the 'timestamp'
fied to 'changed' (cfr. node table). Update.php will try to determine
a 'created' timestamp for existing users.
+ The profile module no longer uses serialized data but has its own set
of tables. Known existing profile data is migrated by these new tables.
TODO: migrate the birthday field.
+ The profile fields can be grouped, and within each group, profile fields
can be sorted using weights.
+ The profile pages can be themed.
+ The profiles can be browsed based on certain properties/settings.
+ Change the _user hook: (i) 'private_view' and 'public_view' are merged
into 'view' as there are no private fields and (ii) 'edit_form' has
been renamed to 'edit'.
+ Avatar handling has been refactored and is now part of the user module.
The users table has a dedicted 'picture' field.
+ Simplified the way themes should use display/visualize pictures or
avatars.
+ Made it possible for administrators to replace or delete avatars.
+ ...
I hope this make for a good base to build on collectively.
+ only adds an optional parameter to url() and l(), so individual links
can be set to be absolute
+ modifies drupal_goto() to accept the parameters of url() without the
$absolute parameter, so cleaner invocations can be used
+ rework of some code in node_feed, making it much better to look at
(the current code uses foreach with an immediate brake to get the first
key of the associative array, geeeeez)
+ added xml:base to the rss tag generated by node_feed()
+ set all user mail URLs to be absolute
+ fix a small fragmented URL in user.module
+ Tidied up the profile configuration page: grouped form elements.
+ Tidied up the block configuration settings: removed hard-coded
table.
+ Changed the profile API to return the preferred group name, and
changed the user module to group settings. Modules implementing
the _user hook will need to be udpated.
+ Removed register_form and register_validate for now.
containing two elements, the first being the requested title, and the second being
the result list. Advantages:
* Cleaner search code in common.inc
* Po extraction is possible and works fine
* No hardcoded exceptions for node and comment modules, since any module can
return results in order of relevance (or another order)
- Fixed the title and breadcrumb trail of the comment delete page, added
missing cache flush, improved usability and made it so that when you delete
a comment replies are deleted as well.
- Added 'delete comment' links to the comments on node pages. Hopefully
this will make it easier to maintain old threads such as those attached to
the book pages on drupal.org.
- Comment module maintenance: added missing t() functions and improved
consistency of the calls to drupal_set_message(), used radio buttons instead
of a selection box.
+ removes the lots of pagers and indirect pager themeing
+ add the theme_pager() function, which should be called as
theme("pager", ...) to get a pager.
Contributed themes and modules need to be updated:
- modules: status() is no more; use drupal_set_message() instead.
- themes: use drupal_get_message() to check for status messages and
visualize them.
Phase 2 of the menu system integration project. This unifies the interface
used by admin and non-admin pages, and deprecates the _page hook in favor of
explicit callbacks from menu(). Breadcrumbs, titles, and help text go away
as a result of this patch; they will return in the phase 3 patch, printed
by the theme.
Patch by Stefan.
- Usability improvement: introduced a form_group() function and updated
the node and comment module to take advantage of it. Patch #149 by
Eric Farris.
- Improvement: removed a left-over from Drupal 4.2.0 (dead code).
- Improvement: replaced hard-coded XHTML around the XML icons with class="xml-icon".
- Improvement: removed the custom navigation menus shown at the top of the "user information page" and integrated them in the new navigation block. The "my account" link in the navigation menu will unfold. Also removed the "delete account" link/functionality (for now).
- Improvement: fix for "magic quotes" settings. Patch by Steven. I also removed check_php_settings().
- Improvement: block themability improvements. Modified patch from Ax and Steve/CodeMonkeyX.
- Fixed bug #2617: editing user information does not work. Patch by Kjartan.
- comment.module: fixed an ambigous 'timestamp' query
- forum.module: prev/next links no longer excerpt from the title+body in
their title attribute. they now excerpt from only their title. this is
more consistent with rest of drupal, and GROUP BY on node.body which
isn't appreciated by MSSQL. also replaced some '' with NULL which caused
errors in MSSQL
- statistics.module: replaced a USING join with a standard ON join. USING
is not as widely supported, and functionally equivalent.
- Fixed bug #3642: removed duplicate settings from user page. Patch #14 by Moshe.
- Fixed bug #3503: added 'forum topic' link to the 'create content' menu. Patch
by Gobar. I think this might be more intuitive and consistent code-wise; I don't
want to introduce small hacks.
- Cache improvement: small cache improvement to prevent SQL errors. Patch by
Jeremy.
by Nick (CodeMonkeyX).
- Bugfix: anonymous users could not change comment settings. Patch by Bart.
- Bugfix: the comment control form always showed "order by date - newest first",
no matter what order you selected. Patch by Bart.
- Small usability improvement: only display comment controls when there are
comments to show. Patch by Bart.
> Currently the admin menu does not work for comment.module and import
> module. Import module has the problem of not taking care of the fact in
> the arg() function calls that the module is pushed one level down in the
> menu (similar to the user.module and block.modules problems already
> fixed). The comment.module has a problem with trying to translate an $op
> which comes from the URL (and is therefore not translated).
>
> The attached patch also fixes the bogus URLs in import.module help texts
> (as the module part is pushed down into /admin/node instead of /admin).
1) As explained by Al, there is still a glitch with the 'create content'
menu.
2) The user module part of the patch did not apply due to Kjartan's earlier
patch.
+ Dramatically improves performance of large discussions/threads: only
very few SQL queries are required.
+ Replaces custom pager with standard pager.
Modifications by me:
+ Reworded some code comments.
+ Removed dependencies on pager internals.
- Bugfix: fixed translation problems in the user module and the block module. Patch by Stefan.
- Improvement: made it impossible to delete user role #1 and #2. Patch #38 by Al.
- Improvement: fixed the "Allowed HTML tag" issues. Makes for better code and improved usability. Patch #35 by Al.
NOTE: as soon the compose tips make their way into CVS, most of this code can be removed.
- Bugfix: fixed the defaults for blocks in database.mssql so the NOT NULL fields get values. Patch by Kjartan.
- Bugfix: changed check_form() to use htmlspecialchars() instead of drupal_specialchars() as this caused Drupal to emit incorrect form items in presence of quotes. Example:
<input type="submit" class="form-submit" name="op" value="Submit "top nodes" block changes" />
IMO, drupal_specialchars() is better called xmlspecialchars() to avoid confusion.
- Bugfix: when an anonymous user visits a site, they shouldn't see any content (except the login block, if it is enabled) unless they have the "access content" permissions. Patch by Matt Westgate.
- Improvement: improved the error checking and the error messages in the profile module. Updated the code to match the Drupal coding conventions. Modified patch from Matt Westgate.
- Improvement: don't generate the <base href=""> tag in the base theme; it is already emitted by theme_head(). Patch by Kristjan.
- Improvement: don't execute any SQL queries when checking the permissions of user #1. Patch by Kjartan.
- Improvement: made a scalable layout form that works in IE and that behaves better with narrow themes. Part of patch #51 by Al.
- Improvement: removed some redundant print statements from the comment module. Modified patch from Craig Courtney.
==> This fix requires to run update.php!
- Bugfix: made sessions work without warnings when register_globals is turned off. The solution is to use $_SESSION instead of session_register(). This fixes critical bug #1797. Patch by Marco.
- Bugfix: sometimes error messages where being discarded when previewing a node. Patch by Craig Courtney.
- Bugfix: fixed charset problems. This fixes critical bug #1549. Patch '0023.charset.patch' by Al.
- Code improvements: removed some dead code from the comment module. Patch by Marco.
- Documentation improvements: polished the node module help texts and form descriptions. Patch '0019.node.module.help.patch' by Al.
- CSS improvements all over the map! Patch '0021.more.css.patch' by Al.
- GUI improvements: improved the position of Druplicon in the admin menu. Patch '0020.admin.logo.patch' by Al.
- GUI improvements: new logos for theme Marvin and theme UnConeD. Logos by Kristjan Jansen.
- GUI improvements: small changes to the output emitted by the profile module. Suggestions by Steven Wittens.
- GUI improvements: small fixes to Xtemplate. Patch '0022.xtemplate.css.patch' by Al.
TODO:
- Some modules such as the buddy list module and the annotation module in the contributions repository are also using session_register(). They should be updated. We should setup a task on Drupal.
- There is code emitting '<div align="right">' which doesn't validate.
- Does our XML feeds validate with the charset changes?
- The forum module's SQL doesn't work properly on PostgreSQL.
some of Moshe's node form work later on.
TODO:
- I just spotted a problem with the promote field; it does not seem to be
"sticky" when you click the preview button. I checked and this was also
the case prior to applying this patch.
to avoid XSS attacks! Patch by Al, Moshe, Marco, Kjartan and me.
- Bugfix: the admin module does now import drupal.css prior to admin.css.
Patch by me.
- Bugfix: the admin module was still emitting a <base href=""> tag. I
removed this as it is been taken care of by theme_head(); Patch by me.
- Bugfix: made the tracker module's pager only consider published pages.
Patch by Moshe.
- Bugfix: cured some typos in the comment module's help function. Patch by
Marco.
- Bugfix: fixed a typo in the pager_display() that caused optional
attributes to be discarded.
- Bugfix: made the Xtemplate emit empty boxes like any other theme does.
Patch by Al.
- Bugfix: fixed broken link on the statistics module's log page.
Reported by Kjartan.
- CSS improvements: made the HTML output emitted by the tracker module
look nicer. Patch by Moshe and Al.
- CSS improvements: added CSS classes for form elements. Patch by Al.
- CSS improvements: added a vertical gap between the last form item and the
submit button. Patch by Al. Note that Opera 6 is not picking up this
CSS but apparently others browsers such as Konqueror do.
- Xtemplate improvements: changed the color of the selected day in the
archive module's calendar. Patch by Al.
- Usability improvements: made the "birthday" field of the profile module
look nicer. Patch by Al.
------
- TODO: it might be a good idea to emit the following meta tag in the
theme_head() function:
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
Currently, some themes (and modules!) emit this while others don't. This
would also make it possible to change the charset site-wide.
- TODO: now we added support for td.dark and td.light to drupal.css, maybe
it can be removed from admin.css as well as xtemplate.css?
- Fixed a typo in the MSSQL database scheme. Patch by Michael Frankowski.
- Removed dependency on "register_globals = on"! Patches by Michael Frankowski.
Notes:
+ Updated the patches to use $foo["bar"] instead of $foo['bar'].
+ Updated the INSTALL and CHANGELOG files as well.
- Tiny improvement to the "./scripts/code-clean.sh" script.
+ Fixed bug 1544: comment_mod_matrix() was broken.
+ Emit tables using the table rendering functions.
+ Fixed a typo in the documentation/comments.
(Welcome back Marco!)
"implemented pieces of kjartan's original nodeAPI patch. the mingling
of other modules into node.module logic decreases (a good thing). for
example, the string "taxonomy" now appears nowhere in node.module
- moved the saving of taxonomy terms when submitting a node out of
node.module and into taxonomy.module
- moved the deletion of comments while deleting a node out of
node.module and into comment.module
- improved usability of node forms by including node type in the title
of the box and page"
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.
*nodes* in addition to comments. This will be helpful for tracking down new
book nodes, blog posts, news items, and other stuff which isn't interesting
enough to be promoted to the home page.
* After having a chat with Dries we have agreed on the logics (or
more specifically he told me how its supposed to work). The queue
module is just a method to make moderation public, but its not
necessarily the only way. This brings the power back.
- Minor interface tweaks (names, case changes, etc).
- Fixed error that would show when you tried to view the profile of a
blocked user.
- 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.
The following modules need updating:
* glossary module
* feed module (Breyten's version)
* mailhandler module
* notify module
* project module
* smileys module
* admin module
* style module
* taxonomy_dhtml module
To avoid unexpected problems menu_add() is deprecated (it will print an
error message when used) and menu() should be used instead.
- Added a _nodeapi hook that in time will replace the _node hook. Trying
to make as few changes to existing code as possible until the new api
is stabilized.
- Modified node_form() to add administration options from other modules
using the _nodeapi hook.
- Modified node_save() to fetch which fields should be saved to the node
table from the _nodeapi hook.
- Moved comment and queue options from node_form() and node_save() to
the modules _nodeapi hooks.
or "operation" link.
- Made the main page of the administration section show an overview of all
watchdog entries with such action link.
- Fixed typo in PostgreSQL database scheme.
- Usability improvement: made the comment administration pages use the
new table rendering functions.
- Usability improvement: new comments will also be marked as new in the
administration pages.
- Code improvement: changed the comment administration pages to use the
default pager instead of a custom pager.
- Bugfix: "yes" and "no" were not translatable.
- $ diffstat comment.patch
comment.module | 45 +++++++--------------------------------------
1 files changed, 7 insertions, 38 deletions
TODO:
- Comment module: remove other custom pagers in the comment module.
- Pager/database: it would be nice if the functions db_query_range()
and pager_query() would have the same semantic as db_query(); that
is, using a variable number of arguments that are automatically
escaped/checked.
- Fixed a bug with get_tree and multiple parents.
- Fixed 3 wrong caches (this will avoid some queries).
- Extension to taxonomy_term_count_nodes() (feature #159): "currently
calling taxonomy_term_count_nodes() returns the amount of nodes in each
term, would it be possible to extend this function so that it would only
return the amount of nodes of a certain type under each term.
- Confirm deleting a vocabulary or a term (requested by Moshe).
- Use form_weight() in vocabulary and term forms.
- After submitting a term, we end up at the term page (requested by Moshe).
- Added status messages when adding, editing and deleting vocabularies and
terms
- Minor clean ups
* Made sure all modules use the same link delimiter; "|" for now.
- Changed cache API.
- Fixed caching bug in comment.module. Odd this hasn't been reported yet.
- Fixed caching bug in forum.module.
- Fixed caching bug in system.module.
- Fixed caching bug in block.module.
- Simplified caching support in forum.module thanks to improved cache API.
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 ...
- updated update.php and database.mysql disable a few more modules by default.
Without the config options in place to disable things this might confuse users.
- 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.
Level 0 comments were still wrapped with a zero-width indentation table. Because the indentation-column contains a space, there was still a slight margin.
* fixed mails not being parsed properly.
* tracker now shows user name when you view your own recent
comments.
* link to submission queue now points to the right place.
* fixed jabber module.
* theme is now activated when changed.
- applied Gerhards coding style patch.
+ 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!
- added who is online block.
- made weblog module more configurable.
- users may now delete their own accounts (Feature #8)
- users may now request a password using email address *or* username.
formerly required both items to match an account which was onerous.
- the link to request a new password is now presented whenever a user
fails login.
- there is now a confirmation message after submitting edits to your
user information.
- error messages in user.module may now be stylized by themes.
- <hook>_form has a $param setting you can fill with form parameters.
- improved wording for a few config settings.
- fixed various non-coding standard things.
+ Improved input filtering; this should make the news items look
more consistent in terms of mark-up.
+ Quoted all array indices: converted all instances of $foo[bar]
to $foo["bar"]. Made various other changes to make the import
module compliant with the coding style.
- theme.inc:
+ Fixed small XHTML glitch
- comment system:
+ Made it possible for users to edit their comments (when certain
criteria are matched).
+ Renamed the SQL table field "lid" to "nid" and updated the code
to reflect this change: this is a rather /annoying/ change that
has been asked for a few times. It will impact the contributed
BBS/forum modules and requires a tiny SQL update:
sql> ALTER TABLE comments CHANGE lid nid int(10) NOT NULL;
+ Moved most (all?) of the comment related logic from node.php to
comment.module where it belongs. This also marks a first step
towards removing/reducing "node.php".
+ Added a delete button to the comment admin form and made it so
that Drupal prompts for confirmation prior to deleting a comment
from the database. This behavior is similar to that of deleting
nodes.
+ Disabled comment moderation for now.
+ Some of the above changes will make it easier to integrate the
upcomcing mail-to-web and web-to-mail gateways. They are part
of a bigger plan. ;)
- node system:
+ Made it so that updating nodes (like for instance updating blog
entries) won't trigger the submission rate throttle.
+ Fixed a small glitch where a node's title wasn't always passed
to the $theme->header() function.
+ Made "node_array()" and "node_object()" more generic and named
them "object2array()" and "array2object()".
+ Moved most (all?) of the comment related logic from node.php to
comment.module where it belongs. This also marks a first step
towards removing/reducing "node.php".
- misc:
+ Applied three patches by Foxen. One to improve performance of
the book module, and two other patches to fix small glitches in
common.inc. Thanks Foxen!
permissions to post comments, the "reply to this comment"-link is
no longer shown. Also, when a user is a "comment administrator",
an "administer"-link will be displayed.
- Revised the threaded_min and threaded_max code: it makes rendering
pages with more than 15 comments 200% times faster.
- Fixed the comment preview function: the preview shown was not being
an exact preview of the comment. Along the way, I polished the
comment submission code.
- XMTML-ified the code, and quoted all "string"-based array indices.
- Made the /comment links/ jump to the comments instead of to the top
of the page.
- Replaced the "Add comment"-button by a "add new comment"-link.
(This should make UnConeD jump up and down of wild excitement.)
- Moved all comment related logic from theme.inc and node.module to
comment.inc and comment.module (where they belong).
- Added some links to ease the site's usability/navigation.
'updates/3.00-to.x.xx.mysql' for the required MySQL updates.
- Renamed some "author" fields to "uid" fields for sake of consistency.
- Fixed the coding style of some PHP files.
- Fixed the moderation queue (fairly untested though).
- Re-introduced the temporary SQL table in _node_get().
- Added a missing 'auto_increment' to 'updates/3.00-to-x.xx.mysql'.