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.
- 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
are not members of the site. Two examples are listhandler and import modules.
There is no easy way for these modules to display the true author of the
content. Usually, the content appears as if authored by Anonymous User. This
3 line patch enables modules to override the author name in their _view() hook.
- Bad usage of css ID's: they may be used for a single element only,
but were used as #node, #block, which can occur multiple times in a
single page.
- Moved HTML from theme to template - thats what templates are all
about!
- Added support for head() hook
- Added support for diffentiating between boxes and blocks.
- Typo: secundary -> secondary
- forum: fixed link to new topic
- forum: new topic shows default forum correctly
- forum: first_new is back; the anchor didn't consider multiple pages
- forum: use standard pager, needed some changes/fixes to pager.inc
- forum: some cleanup
- forum: taxonomy hook
- renamed first_new to simply new
- added an optional parameter to pager_query for the count query
- used the optional count param for paging forum topics
- internal change: moving a topic doesn't duplicate the node anymore but just
changes the forum (term); no change in functionality, and shadow still
works (suggested by Dries). This probably also made some queries somewhat
lighter.
- bug fixed: anonymous users always saw "n (n new)" in the replies column
- updated pager help and moved from _help to phpdoc
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.
- page_header() now adds Last-Modified and ETag http headers.
- When running PHP as an Apache module page_header() will check the HTTP
headers for conditional gets, and will only push the content when it
fails. (Works for html and xml pages as they are all cached). Note:
this is a PHP limitation, so until PHP makes it work for other web
servers this won't work for them.
- Added created field to cache database to hold the timestamp when the
cache was created.
- Changed cache_get() to return an object with ->data and ->created.
- Update forum and locale modules.
+ 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.
- 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.
"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.
- Modules and themes now use the same functions to find and administer
files.
- Modules can now be placed in sub-directories.
- Theme descriptions can no longer be edited. This will be handled by
Dries' theme_conf patch.
- Update required to keep old modules enabled.
+ 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
}
}
changes include:
* a couple of coding style changes, renamed some "stats" into
"statistics", etc.
* removed the "Who's online" block from the user module.
* added db_affected_rows() to the resp. database abstraction
layers and made the statistics module use db_affected_rows()
instead.
* added update logic to "update.php".
- 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.
returned by theme_list() as it breaks the site ... The attached patch
prevents this from happening but does not remove the theme from the system
table in the SQL database - if the theme is removed from the database upon
viewing the themes administration page (or another trigger), I guess that
is fine.
Kjartan: my fix is the right thing to apply because theme_list() is used
elsewhere where it requires to return a list of existing themes.
Maybe it's a little sad but the current theme loading code might
be slower and more complex than the old Drupal 3 theme loading
code ... ?
or disabled as it will cause errors otherwise.
- split status into status and custom. Status will turn the block
on/off, and custom defined if the user can change the status.
Requires sql update.
- reintroduced user page to configure blocks.
- request_uri() behaves on non-apache web servers. i've tested on IIS and
apache (many platforms).
- modules may now implement the _search_item() hook which overrides the
default formatting of search results. modules already can customize which
fields are indexed. no module currently uses this hook but
externalpage.module expects to do so.
- added an optional $attribs argument to l(), lm(), and la() which is an
associative array of attributes which are inserted into the <a> tag (feature
#146).
- drupal_str_replace() is deleted (i had recently added it). i verified that
no scripts are currently calling this function. use strtr() or str_replace()
instead.
- arbitrary elements may be added to the <channel> and <item> blocks of an
RSS feed by passing the $args associative array. the core RSS engine is now
able to support elements like <cloud> and <catagory> [1] and RSS 1.0[2]
[1] http://backend.userland.com/rss092
[2] http://groups.yahoo.com/group/rss-dev/files/namespace.html
* 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!
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.
login and one for user information.
- added link to help in book module (post-patch, see below).
- applied various patches:
Patch by Greg Tyrelle <greg@tyrelle.net>
- tracker module now shows usernames next to comments.
Patch by Moshe Weitzman <moshe@wallaware.com>
- book module has a more complete help.
- added administrative link to export book to html
- fixed non book nodes not showing up in trees.
Patch by moshe weitzman <weitzman@tejasa.com>
- links can be defined in the configuration file.
- 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.
* only problem is that the admin.php link is not available until the
admin enables the block.
* $theme->user is obsolete, will patch the themes properly in a
later patch.
- moved moderation block from theme.inc to queue.module.
* removed theme_moderation_results().
- updated database/database.mysql.
- attempted to fixed crashes with the custom session handler.
External SMTP library
- added functionality to have Drupal not use the default PHP mail()
function. For more info see: http://www.drupal.org/node.php?id=44
Note: for this to work all modules that send mails should use the
Drupal function to send mail:
user_mail($mail, $subject, $message, $header);
Calendar
- added an archive page which users can use to find archives instead of
the good old block.
Miscellaneous
- fixed a "random" offset bug on module.inc that occurred on Windows.
All of this needs more testing, and further suggestions are welcome.
SQL update. See below for more details.
- Merged the file "cache.inc" into "common.inc".
- In addition, I renamed the field 'url' in the cache table to
a more generic 'cid' (cache identifier). It's no longer for
URLs only.
- Made the "cache_set()" function ASNI compliant such that it
will play nice with other databases such as Postgres.
- Added some extra input checking.
- Updated the old caching code in the functions "page_header()"
and "page_footer()" to use the new, generic cache API.
- Updated "update.php" to make the required SQL changes.
+ 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!
In all themes, except Marvin which already had $title, I put the $title first, because it's usually the thing the page is about:
"The future of weblogs? - Drop.org"
"Your account settings - Drop.org"
rather than the other way around, right?
+ Added (1) support for "PHP pages" (dynamic pages), and (2) made
it possible to link other node types into the book's tree/outline.
It works just fine, yet the only (obvious) downside of (2) is
that the navigation tree/links gets "interrupted" when you view
non-book pages in the book.
[SQL update required, see update.php]
+ Tidied up the book table.
[SQL update required, see update.php]
- various updates:
+ Fine-tuned the new node system.
+ Updated the inline/code documentation.
+ Improved teaser handling of all node types.
+ Made several small usability improvements to the node admin
pages.
- Fixed a glitch in the book overview in the admin section.
- When updating a book page through the admin section, no new revision
is created unless explictely specified.
- Improved the usability of the node and book pages a little.
- Bugfix: the "Edit comments" part of the node administration pages did not
display the correct comments.
- Bugfix: somethimes, update in a book page would mess up the book.
- Improvement: when "node administrators" update a book page through the
"update this book page"-link (like regular users do), their update will
be subject to moderation.
- Improvement: made some intermediate changes to the filter mechanism. Needs
more work.
- 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.
as this breaks revisions.
- modified link_node() to take a third parameter $main, which will be passed on
to _link hooks. This lets modules decide which links a node will get when
shown on the main page, or when not.
- updated themes to use the new syntax.
as this breaks revisions.
- modified link_node() to take a third parameter $main, which will be passed on
to _link hooks. This lets modules decide which links a node will get when
shown on the main page, or when not.
- updated themes to use the new syntax.
+ Made the filters work again!
+ There is one strange thing that I can't track down though: for some
reason, "^M" characters (?) are padded after newline ("\n" and / or
"\r") characters.
+ Changed node_form() to use good ol' tables instead of div/CSS-tags.
+ Revised the "revision API": I think we have both an easy and powerful
API now that should make everyone happy.
+ Improved the usability of the rollback functionality a bit.
+ Removed the "view node" link from the "node overview" page in the
admin section and added a "delete node" link instead.
+ Added a few missing translations; there might be missing more
translations though.
- book.module:
+ Made the book module use the "revision API" instead of having it poke
and use the innards and underlying details of the revision system.
- queue.module:
+ Made the queue module use the improved revision number.
- module.inc:
+ Applied Moshe's patch: added more arguments to module_invoke()
- mail-to-sql.pl:
+ Added support for more header fields and for folded fields
Notes:
- no database updates required
+ fixed a typo in node_load(): it should be faster now
- book module:
+ removed the functions book_parent() and book_parent_query() as
they were no longer needed. Gerhard & co: this should fix the
occasional SQL errors you get, and should improve performance.
+ made the "next", "previous" and "up" links work correctly ...
+ XHTML-ified the code
+ added some missing translations
I'm working on the book module now to make it possible to update book
pages.
Drupal to display submission guidelines, or any other kind of explanation
such as "NO TEST POSTS", for example.
- Added node versioning: it is possible to create revisions, to view old
revisions and to roll-back to older revisions. You'll need to apply a
SQL update.
I'm going to work on the book module now, so I might be changing a few
things to enable collaborative, moderated revisions - but feel free to
send some first feedback, if you like.
- Added some configuration options which can be used to set the minimum
number of words a blog/story should consist of. Hopefully this will
be usefull to stop the (almost empty) test blogs.
- Various improvements:
+ Fine-tuned new node permission system.
+ Fine-tuned the functions in node.inc.
+ Fine-tuned some forms.
+ XHTML-ified some code.
+ introduced basic node permissions ("create", "delete", "update" and
"view") at the node level: it's up to the "<$node->type>_module" to
hide gory details (if any).
+ made the "blog it"-feature in the blog and import module work with
the new node system, in specific with the new centralized forms.
+ made it possible to update blogs.
+ made the page module work with the new node system.
+ various smaller improvements.
by setting them in a $conf variable.
This will let you host several domains off the same Drupal installation with
the same databases with minor differences in settings.
Note: the values can not be changed by users in a GET or POST string.
by setting them in a $conf variable.
This will let you host several domains off the same Drupal installation with
the same databases with minor differences in settings.
Note: the values can not be changed by users in a GET or POST string.
'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'.
tables: I changed all "id"s to "xid"s where "x" is the first letter of
the table name. I also renamed all remaining "userid"s to "uid"s as I
mentioned I would do. Take a look at ./drupal/updates/3.00-to-x.xx.sql
for the MySQL updates.
range of databases including MySQL, PostgreSQL, MSSQL, and others.
For additional information and an 'how to upgrade', check the mails
sent to the mailing list.
- fixed small glitch in comment_del()
- changed the API of the form() function. The first parameter, the
"action"-attribute in the <form>-tag has been made optional. By
default, it will be set to "$REQUEST_URI".
Why? Because in 98% of the cases we would do:
global $REQUEST_URI;
$form = form($REQUEST_URI, $form_content);
while we can do:
$form = form($form_content);
now.
Update your modules (and sorry for the inconvenience)!
+ when replying to a comment, the author's name was displayd as being 'anonymous'.
- blog.module:
+ fixed the URLs of the links in the "latest blogs"-block.
calls can implement the new 'xmlrpc' hook.
Example:
function mymodule_xmlrpc() {
return array("drupal.myfunction" => array("function" => "mymodule_myfunction"));
}
- format_username() now takes a second optional parameter which gives the
real name of the user.
Rest
- updated the calls to format_username() where appropriate to show the name
of the user instead of the account id. Clicking on a name will still give you
the account info etc. If you find a place where the real name is not shown
let me know.
- format_username() now takes a second optional parameter which gives the
real name of the user.
Rest
- updated the calls to format_username() where appropriate to show the name
of the user instead of the account id. Clicking on a name will still give you
the account info etc. If you find a place where the real name is not shown
let me know.
- removed comment_controls().
- modified comment_render() to use $theme->comment_controls().
theme.inc
- added BaseTheme->comment_controls().
locale.module
- can now search for status independant of language.
- string is now a regular expression. For wildcard searches do .*text.*.
- can search in modules + pages, all modules or a specific module.
account.php
- fixed viewing other accounts info would show the active users name in the
real name field.
- now shows users recent contributions and comments (if the user has access to
them).
- removed comment_controls().
- modified comment_render() to use $theme->comment_controls().
theme.inc
- added BaseTheme->comment_controls().
locale.module
- can now search for status independant of language.
- string is now a regular expression. For wildcard searches do .*text.*.
- can search in modules + pages, all modules or a specific module.
account.php
- fixed viewing other accounts info would show the active users name in the
real name field.
- now shows users recent contributions and comments (if the user has access to
them).
- real name is now shown to all users.
page.module
- improved the locale support.
comment.inc
- added a wrapper table for comment_thread_max() as suggested by nick.
+ added new "tab" to import.module called "news sources".
+ improvement to import.module navigation.
- theme.inc:
+ renamed 'your contributions' to 'your submissions'.
+ added RSS 0.91(5) feeds to the blog module which makes it possible
to both syndicate an particular user's latest blog entries, or the
latest entries of all users.
+ added RSS 0.91(5) feeds to the blog module which makes it possible
to both syndicate an particular user's latest blog entries, or the
latest entries of all users.
+ added $theme->images()
- blog.module:
+ improved user-friendliness and rewrote most of the output routines
+ made quoted text /italic/ by default
+ integrated discussion system like it should
+ ...
- marvin.theme:
+ small visual improvements
Basically this is a 'nice version' of a hack that you could do as a theme author.
I've updated all the standard themes, but 3rd party themes will of course have to be updated by their authors, in the following manner:
- Replace the box() declaration:
< function box($subject, $content) {
> function box($subject, $content, $region = "main") {
- Replace the theme_account call:
< theme_account($this);
> theme_account("region", $this);
Note that you'll have to replace "region" with the correct region that the box is placed in. However if you have a one-column theme, you should use "all", and not for example "left" (if all boxes are on the left).
Usually the "region" here should be the same as the nearest theme_blocks() call.
Those theme authors who want to can make boxes that appear in the center look different from those that appear in the sides for example.
+ fixed visual glitch with 'read more' link (blog comments)
+ made it possible to delete your last blog item
+ fixed timestamp bug when previewing a new blog
+ fixed potential problem with blog_save()
+ fixed a few HTML/XHTML tinkos.
- statistics.module:
+ "yoursite.com" should no longer show up under "external referrers"
+ fixed "Referers of the last 31 years 37 weeks 1 hour 46 min 40 sec" bug
+ xhtml-ified
- node.inc:
+ fixed watchdog message
- import.module:
+ small block improvement
+ feedback wanted
- Added updated import.module (contributed by Julian):
+ user page do browse the headlines by feed and bundle, to display
the item descriptions, etc.
- Fixed small bug in common.inc.
- Updated database.mysql
+ Made '$na' translatable on popular demand.
- node.module:
+ replaced a confusing configuration description, as suggested by
Remco.
- statistics.module:
+ Added a 'most recent referers'-table sorted by timestamp.
- drupal.module:
+ Small update of the links.
- Fixed tiny quote problem in account.php.
- Fixed tiny bug in comment.inc.
- Fixed tiny bug in comment.module.
- Fixed tiny bug in meta.module.
- Simplified user_access() API.
- Rewrote link system: still needs fine-tuning and testing so don't
upgrade if you are running a production site. ;)
Updated all modules and themes to reflect this change. All other
themes and modules need updating too!
+ the node scheduler did not un-schedule a node!
- Fixed comment bugs (as a result of the formification):
+ no signatures where being attached to the comments.
+ check_input was used where is should have been check_output,
with broken filters as the immediate result.
(groups) and 'permissions' ... (inspired by Zope's system).
+ Once installed, click the help-link for more information.
+ See updates/2.00-to-x.xx.sql for the SQL updates.
- Modified loads of code to use our new access.module. The system
still has to mature though: new permissions have to be added and
existing permissions need stream-lining. Awaiting suggestions.
- As a direct result of the new access system, I had to rewrite the
way the top-level links in admin.php are rendered and displayed,
and xhtml-ified admin.php while I was at it.
TODO
- Home-brewed modules need updating, home-brewed themes not.
(Examples: file.module, trip_link.module)
- As soon we *finished* the refactoring of the user system (KJ has
been working on this refactoring already) we should consider to
embed this role and permission code into account.module ...
- Modifed form_select() to accept an optional 6th parameter which is appeneded
to the select tag. $value can now also be an array. This allows for multiple
selects:
form_select($header, $name, $values, $options, $help, "multiple=\"true\" size=\"10\"");
- Updated account.module to use the extended form_select() functionality.
- Moved account_password() and account_validate() to user.inc.
- Greatly reduced the number of SQL calls in account_save() when editing an
account. Now uses one db_query() call instead of 1 + (2 * # of access
granted).
- Fixed access not being saved when account was added.
- Should now be possible to edit and add accounts. There were certain bugs
before that would cause odd errors.
it wasn't a good idea to split them up in first place, and it turned
out to be quite hard to decide where to put some variables.
Also moved some variables around and even renamed a few variables
while doing so.
- Added a page_header() and page_footer() to all top-level .php pages.
- Changed meta.module, node.module and index.php to use comma-seperated
lists of attributes rather then "foo=a,bar=b" lists. This makes it a
a lot easier to use both modules. In addition, error handling can be
discarded as it can't be made any simpler, really ...
It fits rather nicely in Drupal's design so I'm getting more and more
happy with this meta.module (but we are not 100% there yet).
- node.module, node.inc:
+ Improved the node-related admin interface so that navigating back
and forth the administrative menus is made both easier and faster.
+ Removed some redundant database fields from the node table. See
2.00-to-x.xx.sql!
+ Added 2 news hooks called "node_insert" and "node_update". Just
like this is the case with the existing hook "node_delete" these
new hooks will automatically get called when a node has been
inserted or udpated. Note that this is an optional call-back that
only needs to be implemented when required. With the addition of
these two hooks, the node mechanism (version 1) is pretty well
completed.
- watchdog.module:
+ Fixed bug whit the 'regular messages' query in the watchdog.module.
- book.module:
+ Fixed bug in book.module: the 'parent' was not set properly when
updating a book page.
+ Made it so that older versions of a book page are automatically
reactived upon deletion of the most recent version, i.e. when
doing a version roll-back.
- comment.inc:
+ Undid Remco's patch to comment.inc; it does not work in some cases.
- conf.module:
+ Fine-tuned some of the options in conf.module a bit.
- marvin.theme:
+ Visual changes to make it look better on Windows browsers. Mind
to give some feedback on this?
+ Fixed 3 HTML typos/bugs.
+ XHTML-ified the theme at a best effort basis; I didn't carry the
XHTML specification with me.
+ Made use of the theme_slogan variable to display the site's slogan.
+ As soon we have at least one valid XHTML theme we can wonder on how
to integrate other XML namespaces (cfr. MathML story at drop.org).
- database.mysql:
+ Updated database.mysql so that it contains all the latest "database
patches".
- Added a conf option to disable/enable user registrations.
- Added a add account feature to account.module.
- Moved some functions from account.php to account.module.
Todo
- Move most (all?) of account.php to account.module.
associate different collections - think "combobox" here - with
different content types, all hardcoded references to "section"
have been removed and the admin-friendliness of the meta admin
section has been slightly improved.
I'll keep working on it during the weekend - if time allows me
to. Moreover, I'll focus on the usability/user-friendlines of
the meta admin section as well as graceful input-checking, and
error-handling.
Requires an SQL update, see updates/2.00-to-x.xx.sql!
Index.module will be removed, or meta.module will be renamed as
soon we can ditch one of them. For now, having both coexist is
not going to harm your setup and is useful to make a comparison
and / or to migrate from index.module to meta.module.
Index.module is de-coupled form the rest of the system so you
will have to use meta.module after having upgraded. You have
been warned.
- Updated CHANGELOG.
streamlined the existing code, added new watchdog type called "httpd"
for Apache errors. The latter should make it easier to add watchdog
filters later on.
- Clarified some watchdog messages.
'=' instead of ';' and ':'. It is considered to be more readable.
--> A _first_ step towards and improved index.module. Stay tuned
for more.
+ Important:
If you update from CVS - apply the queries in 2.00-to-x.xx.sql!
- Changed all 'attribute' to 'attributes'.
+ Important:
If you update from CVS - apply the queries in 2.00-to-x.xx.sql!
+ Important:
This might require to ieni-wieni small update to your custom
themes and/or node-related modules:
- themes: node_index($node->attribute) -> node_index($node)
- node modules: attribute -> attributes
- fixed the trailing | in some cases.
- removed theme_morelinks().
- added node_links().
- simplified BaseTheme->links().
- updated themes.
Notes
- the new links system is taking form, but concider it beta. There might still
be some major changes ahead so I suggest waiting a little longer before
modifying your theme to take advantage of it.
- fixed the trailing | in some cases.
- removed theme_morelinks().
- added node_links().
- simplified BaseTheme->links().
- updated themes.
Notes
- the new links system is taking form, but concider it beta. There might still
be some major changes ahead so I suggest waiting a little longer before
modifying your theme to take advantage of it.
update, you'll break your site as you need switching from structure
to index.module: so this can be considered an intermediate commit.
If you upgrade, and you are welcome to, just create a collection
called "section" (for now) and assign your nodes some attributes
in the described format.
Feedback and bugreports are welcomed. Questions will be answered.
CHANGES:
- comment system:
+ when replying to a node (rather then to a comment), that
node is displayed above the reply form.
+ when replying to a comment (rather then to a node), that
comment is displayd above the reply form.
- removed structure.inc, removed structure.module.
- node.inc:
+ added 2 new node functions called 'node_attribute_edit()' and
'node_attribute_save()' used to 'hook in' any indexing system
including your home-brewed stuff if you'd want to. Currently,
index.module is the facto default index system.
See story.module for usage.
- book.module, story.module, poll.module, page.module, forum.module:
+ added preview functionality to administration section (via node
module).
+ removed all references to structure.inc (category, topic).
- moderate.module:
+ removed all references to structure.inc (category, topic).
- book.module, story.module, page.module, forum.module:
+ increased the sizes of some textareas.
- submit.php:
+ removed all references to structure.inc (category, topic).
- marvin.theme:
+ removed dead code: function story() was depricated.
- unconed.theme:
+ removed hardcoded references to drop.org.
- marvin.theme, unconed.theme, jeroen.theme, yaroon.theme, example.theme:
+ removed all references to structure.inc (category, topic).
TODO:
- file.module, trip_link.module:
+ update preview functionality:
see story.module for example.
+ remove references to 'cid' and 'tid', use 'attribute' instead:
see story.module for example.
- extend and build upon index.module as well as making it configurable
- created a BaseTheme class in theme.inc.
- added links($links = array(), $status = 0, $node = 0) to BaseTheme.
- modified all themes to extend from BaseTheme.
- modiefied theme_link() to take advantage of $theme->links().
- theme_morelink() does not require a $theme argument.
Todo
- add the other standard variables and functions to BaseTheme.
- some themes could use some more modifications.
Weird
- marvin.theme still has a story() function.
algorithm a bit. --> Needs testing! I improved this last night
and only got around to testing this rather briefly/quickly. It
was to late already. ;-)
(This is part of a larger set of changes I'm slowly working on
which I will feed to CVS in steps after more testing.)
- Added 2 new node functions called 'node_attribute_edit()' and
'node_attribute_save()' used to 'hook in' any indexing system
including your home-brewed stuff if you'd want to.
- Added improved node scheduler:
+ Automatically post node at date 'xx/xx/xx, xx:xx'.
+ Automatically queue node at date 'xx/xx/xx, xx:xx'.
+ Automatically dump node at date 'xx/xx/xx, xx:xx'.
Requires a database update, see ./updates/2.00-to-x.xx.sql!
- Refactored the admin interface of node.module. It is only a start
but it should show the direction we are going.
+ The new interface is easier to extend with new functionality
and operations. New "edit xxx" links can easily be added on
our way.
+ The new interface tries to cover all content- or node-related
functions. Thus making a special admin interface for each new
node type redundant. To demonstrate this, I removed the admin
hook from page.module and forum.module. This removes quite a
bit of logic from the invidual modules which is a good sign if
you ask me.
A centralized GUI or interface covering all node-related
administration should make Drupal easier to administer.
TODO:
- All node-related nodes need updating. This should be trivial and
I'll hapilly tackle this later tonight.
- There will be bugs, and I'm still working on this but I would like
to get some feedback (from Natrak et all) on both user-friendliness
and usability of this new interface. I'm still working on it as we
speak ...
structure.module either needs work, or replacement by index.module:
see "admin > node > node settings".
It will do for now and it can always made better when we can think
of a better solution; it is the best I could think of. Now what?
index.module or structure.module? I'm currently pro index.module.
- Drastically simplified "variable.inc".
- Removed most dependecies on structure.module from all content related
modules. Thus making our modules more modular. ;)
- Fixed calculation glitch in queue.module.
- Fixed potential function name clash/conflict in rating.module, and
simplified some code on my way.
- Started removing all global variables $status and $rstatus. Global
variables are "yucky" so in near future, we will replace all global
$status variables by a call to node_status(). Originally, $status
was only introduced as a temporary hack and nothing is as permanent
as a temporary hack so I took it out when still possible.
- Changed the watchdog messages a bit.
- Modified check_mail() to allow '+' characters in mail addresses.
TODO
- Extend the regular expression to allow addresses valid in the RFC's.
Currently IP domains are banned, and so are many other extensions of RFC
822. This is not a priority since we currently support 96% of all addresses.
for the different content types. These weights are used when
calculating each user's gravity. This is a required step before
we can even think of "nodifying" the diary or headline module.
- Polished a bit more on the other modules' crons.
When $field was 0 it would return true, causing SQL errors. Seems to
convert the string its being matched with to a numeric, normally 0. Forced
$field to be treated as a string by enclosing it in quotes.