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.
- Strips the leading / from URLs to match with block paths. The reason is that everywhere else in Drupal, we use URLs without leading slash (e.g. URL aliasing). For consistency we should keep this behaviour everywhere. The replacement uses ereg_replace instead of str_replace, but the expression now only match the beginning of the URI so in fact it's faster, esp. for longer URIs.
- Updates the block docs about path matching: gets rid of leading slash, adds initial matching operator '^' and emphasises the slash behaviour (which was not mentioned anywhere before)
- Replaces the example expression for a negative match. It was horribly broken and odd, the replacement in this patch is correct and simpler.
+ 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.
+ Made it possible to define the page title of the user listing pages.
+ Used form_group()s for the profile administration page.
+ Fixed bug in database/updates.inc.
+ 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.
a select statement. Even though PEAR supports this functionality, it fails
silently when using PostgreSQL. We use the db_num_rows() function instead
to return the amount of rows returned. (According to Killes, the MySQL
manual also states that it should not return affected rows on a 'select'
statement.)
* Code cleaning: simpler structures, removed some old leftovers, ...
* Clean URLs everywhere (the old mechanism was broken anyway). Had to get rid of 'inline voting' (i.e. voting with the sideblock and ending up on the same page), but that was a bit confusing anyway.
* Simplified submission form with form_group and streamlined choice mechanism.
* Improved bar rendering in pollresults for themes with avatars, like xtemplate.
expected) and gives proper class names to the long and short tip list, so if
someone would like to reproduce the 'br' tagged version, he can do that with
some CSS styles easily. Assigned a dedicated class to the more-tips link, so it
can be differently stlyed (with a different bullet, different link color or
anyhow, as the theme designer desires).
- System: the 404 setting instructions advise using 'node', this should be '' (redirecting the user to the front page without any message whatsoever is confusing)
+ 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
- Modifies _user_mail_text() to automatically override the default
strings when needed and apply t() on the strings. This lets Drupal translators
include default messages in translations, and also removes a lot of repeated code.
Modified the internal $messageid of the approval message from
welcome_approval_body/subject to approval_body/subject, so automatic variable
name computation can be done. This does not affect any variable table keys, since
the change was especially done to keep the variable names...
- Adds %login_uri and %edit_uri to move away from the concatenation approach used in
the default messages, thus making those messages visible for the .po extractor
- Uses direct return in help text generation when no more action need to be taken
on the help string (the '$output .=' approach was just plain silly looking and
misleading, since there was no preceding or appended string in $output)
+ 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.
easier to understand 'new' links. The 'new' links are clickable both
at the forum overview (to get to the new forum topics) and at the topic
overview (to get to the new comments).
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)
- puts the long multiline help text into one string
- fixes the ambiquity of calling two things on the same name: "custom block"
now the user customizeable blocks are called custom blocks, and the admin
defined blocks are called Administator Defined Blocks
- added info on throttle to the explanation on when a block is displyed
- also fixing some small typos
- Adds drupal_set_header() and drupal_get_headers().
- Cache now stores custom headers.
- Replace theme_head() with drupal_get_html_head(), added drupal_set_html_head().
- Added RSS autodiscover links to node, blog and taxonomy pages.
- Added support for new tags:
+ Optinal feed image: <image> tag.
+ Dublin core dates: <dc:date> <dcterms:created>, <dcterms:issued>,
<dcterms:modified>.
- Usability improvements:
+ On the administration page, made the feed/bundle titles link
to the feeds/bundles' pages. On the feed/bundle's page, made
the 'Last updated' field link to the administration page.
+ Moved the 'syndication' menu one level down.
- Updated some content sensitive help.
- Further improved themeability.
- Fixed some invalid HTML.
+ Added some a new theme fucntions to the aggregator to make it possible to
theme the aggregator page.
+ Removed the <table> and much hardcoded CSS as well as theme("box")-es.
+ Added the aggregator's theme functions to Doxygen's themeable group.
+ Added breadcrumb trails to the aggregator pages.
+ Updated the core themes to take advantages of the improved themeability.
Screenshot:
http://buytaert.net/temporary/aggregator-makeover.jpg
+ Added drupal_http_request().
+ Replaced rssfeeds with OPML feed subscription list.
+ Added support for pubDate.
+ Added support for conditional gets using ETag and Last-Modified.
/**
* Wrapper around xml_parser_create() which extracts the encoding from the XML
* data first and sets the output encoding to UTF-8. This function should be
* used instead of xml_parser_create(), because PHP's XML parser doesn't check
* the input encoding itself.
*
* This is also where unsupported encodings should be converted.
* Callers should take this into account: $data might have been changed after
* the call.
*
* @param $data The XML data which will be parsed later.
*/
To do this cleanly, I reorganised some bits of system.module: there is now a generic handler available for simple variable-get/set based configuration pages. Look at filter_admin() or system_view() for example usage.
(based on the patch by Goba)
To do this cleanly, I reorganised some bits of system.module: there is now a generic handler available for simple variable-get/set based configuration pages. Look at filter_admin() or system_view() for example usage.
(based on the patch by Goba)
- Re-added STYLE/ON*= filtering (this got lost a while ago due to reorganisation)
- Added form_group's to node.module's filter options
- Fixed incorrect filter usage in poll.module
<div class="user-login-block"> is now inside the <form> instead of the
other way around.
- Simplified the user login block by removing some CSS that was no longer
needed. The block module already emits block-related classes and an id.
- 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.
- put text directly into t(), which also means that multipart help text becomes
a multiline string
- use modern XHTML tagging, no <b> and <i>
- put links and URLs out of the translated text where appropriate
- let referred menu items and form elements get the same name as in the menu /
form, so only one translation would be needed
- use %variable instead of $variable when variables need to go into the string
- add translation to form items previously untranslated
- use example.com in example URLs
tags.
To be discussed and investigated: when a form element has no title an empty
<label> tag will be emitted (eg. "remember me" checkbox). This doesn't make
sense but is our best option for now.
the theme functions left the poll module's poll_view() function in a
state where it does not display the poll results or vote forms on their
own pages, since it uses another (proprietary) $block parameter to
handle the case when the poll is rendered to be displayed in a block.
Patch by Goba.
- Adds possibility to hide menu item when it has no children. (Fixes the
node/add problem when user doesn't have access to create any node
types.)
- More doxygen comments.
+ 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.
+ Fix modules help to read better and be accurate
+ Add groups to throttle_settings()
+ Provide much more detailed information in all _settings options
+ Fix links in module's "Throttle status" block
- removed statistics_init() -- auto-throttle logic moved to
statistics_exit()
- renamed internal-only update_throttle() to _update_throttle()
- removed some odd white spaces
- fixed 'Popular content' block's subtitles to actually display
- removed custom user-page configuration
- added user-page configuration as group into statistics_settings()
- inlined logic to display user-page within statistics_page()
- changed references of "top content" to "most popular content"
- updated help to reflect recent changes
- removed references to title/subtitle text configuration
- properly load _settings data for popular content block
- fix admin pages to display referrers and top nodes (don't return...)
- Remove custom configuration of "admin/system/block/top nodes block".
- Three remaining configuration options moved to "admin/system/modules/statistics".
- Move simple logic to display block within statistics_block().
* fixes all doxygen warnings [#]_ in the current code base
+ changes @param style from phpDocumentor (@param type $var desc) to doxygen (@param $var desc)
+ documents all undocumented parameters
+ escapes / fixes html warnings
+ fixes @defgroup in theme.inc
* adds more groupings [#]_
+ drupal_{set|get}_title, drupal_{set|get}_breadcrumb
+ pager.inc: pager_api (pager_query(), pager_display()), pager pieces
* adds a new group "themeable" which contains all themeable functions.