Parent Directory
|
Revision Log
|
Revision Graph
| Links to HEAD: | (view) (download) (as text) (annotate) |
| Sticky Tag: |
#192056 by effulgentsia, Dave Cohen, andypost, hswong3i, geodaniel, pwolanin, and dahacouk: Ensure user's raw login name is never output directly.
#600974 by effulgentsia, JohnAlbin, sun, and Damien Tournoud: Allow theme functions to take one argument without any hacks. NOTE: This is an API change in hook_theme().
#569238 by sun, swentel, catch: Changed Make check_markup() not cache by default.
#118345 by sun: Make user.module conform to standard presave/insert/update/form_alter hook paradigm.
- Patch #572618 by effulgentsia, pwolanin, sun: all theme functions should take a single argument. Code clean-up and performance improvement. Woot.
- Patch #118345 by sun | nedjo, pwolanin, webchick: DIE hook_user_form() + hook_user_register() DIE!
- Patch #11218 by David_Rothstein, sun, quicksketch, duncf, awood456, dropcube, mgifford | pwolanin, dww, RobRoy, Crell, webchick, beginner, ray007, bjaspan, chx, Gábor Hojtsy, Steven, Dries, lutegrass, sym, guardian, matt2000, geerlingguy, SeanBannister, matt westgate, com2, praseodym: allow default text formats per role, and integrate text format permissions.
#564394 by Berdir and Crell: Removed database BC layer. nah nah nah nah... hey hey hey... gooood byeeee...
- Patch #495968 by Frando, moshe weitzman: added drupal_render() cache pattern. Start using it for blocks.
- Patch #560746 by dropcube: rename hook_block_list() to hook_block_info() for consistency in the API.
#497118 by chx, catch, pwolanin, JoshuaRogers, and Jacob Singh: Remove the function registry. While the hope was that this would result in improved performance for low-end hosts, it comes at the expense of critical development experience problems and less benefit than something like APC. Class registry remains intact to facilitate autoloading.
Of all the patches to accidentally commit without a message. :( Rolling back registry rip. Let's try that again.
*** empty log message ***
#326539 by JohnAlbin, sun, cha0s, ultimateboy, Rob Loach, Damien Tournoud: Convert 'class' attribute to use an array, not a string.
- Patch #549432 by Bohjan, Gábor Hojtsy: create 'people and permissions' section in 'configuration and modules'.
- Patch #491972 by Berdir, webchick: clean-up of user/profile related hooks and APIs.
#382870 by geerlingguy, jmburnz, EclipseGc, JohnAlbin, sun, et al: Update and Polish default node.tpl.php output.
- Patch #537678 by Bojhan: remove drag-and-drop help text.
- Patch #536570 by Gábor Hojtsy: implemented new IA for top-level users.
- Patch #491556 by Berdir: completed converting core to DBTNG. Oh my. Kudos to Berdir for this humongous effort.
- Patch #479966 by Berdir: document and fix hook_user_categories.
#478642 by daniel.bosen: Fix typo preventing profile fields from appearing on registration.
- Patch #472642 by stella, agentrickard: remove 'implementation of' nominalizations from Docblocks.
- Patch #465190 by Heine: add check_plain() call.
- Patch #471800 by stella: more code style fixes.
- Patch #471070 by stella: millions of code style fixes.
Roll-back of #310467: Breaks installer requirements check and update.php.
#196862 by Damien Tournoud, et al: Replace COUNT(*) queries with SELECT 1 ... LIMIT 1 queries when all that's required is a check for whether rows exist.
- Patch #310467 by chx, moshe weitzman: made hook_theme slimmer.
#347250 by catch, drewish, and Berdir: Add function for loading multiple users in one request.
- Patch #360605 by Berdir: made CVS HEAD compatible with PHP5.3.
#323386 by mariuss: The selection type in profile module expects items each on their own line and should not break items on commas
#323386 by mariuss: The selection type in profile module expects items each on their own line and should not break items on commas
- Patch #323386 by mariuss, Dries: select options includes comments -- inconsistent with documentation
#8 by sun and most of #drupal: Users can now cancel their accounts. Fixing the 8th issue, almost 8 years later, on January 8th, after working 8 days full-time on it. GREAT WORK :D
- Patch #345866 by alexanderpas, justinrandell, Dave Reid: remove from hook_block().
- Patch #288039 by sun, ff1, agentrickard, fgm, ultimateboy: improved usability of the aliased URL admin page.
#123556 by maartenvg and dvdweide. Do not show empty user info categories.
#282405 by Damien Tournoud, lilou, Dave Reid: Enforce coding standard on elseif.
- Patch #310212 by justinrandell, catch, et all: killed in _user hook, as well as two small kittens.
- Patch #64967 by Arancaytar, meba: ereg -> preg for performance reasons and future compatilbility. PHP6 is rumoured to drop ereg support.
- Patch #245329 by christefano and dmitrig01: code comment love.
- Patch #252013 by Eaton, pwolanin, Susurrus et al: drupal_render() now printes #markup, not #value.
- Patch #221964 by chx, dopry, webernet, moshe, webchick, justinrandall, flobruit et al. Can you say 'registry'? Drupal now maintains an internal registry of all functions or classes in the system, allowing it to lazy-load code files as needed (reducing the amount of code that must be parsed on each request). The list of included files is cached per menu callback for subsequent loading by the menu router. This way, a given page request will have all the code it needs but little else, minimizing time spent parsing unneeded code.
- Patch #225859 by webchick: fixed warning in author information block.
- Patch #225859 by webchick: fixed warning in author information block.
- Patch #249546 by pwolanin: rip menu access inheritance -- was already committed to D6.
- Patch #245115 by kkaefer, John Morahan, JohnAlbin et al: after a long discussion we've decided to make the concatenation operator consistent with the other operators.
- Patch #216072 by recidive, David Rothstein, ptalindstrom et al: switched from numeric block IDs to string IDs.
The short explanation is that Drupal uses a lot of numeric deltas in the block system; blocks are identified by the 'module' and the 'delta'. In early Drupal, delta was numeric, but somewhere along the line it was changed to be possibly a string. In modern Drupal, block overrides are easily done via block-MODULE-DELTA.tpl.php. The primary motivation to switch to string IDs everywhere is to make these deltas friendlier to themers:
block-user-0.tpl.php --> block-user-navigation.tpl.php
block-user-1.tpl.php --> block-user-login.tpl.php
You get the picture.
Drupal 6.2
#176503 by chx and bennybobw: hidden profile fields cannot be required and cannot be put on the registration form, so we needed warnings on the editing form to not let admins save forms set with these combinations. Backport by Bart Jansens.
#172597 by Rob Loach: minor double escaping in profile module
- Patch #204900 by webernet: code style fixes. Likely my last patch of the year. Fiew. Thanks all, and see you on the other side. :)
- Patch #203509 by pwolanin, chx, cwgordon7 et al: fixed menu inheritenace.
#194946 by dmitrig01, Pasqualle: christmas cleanup (some code style issues fixed)
#202397 by keith.smith: document profile module drag and drop in help text and add info on how categories come to life / can be edited
#200069 by keith.smith: new standard for 'more information' links in module help texts, as the handbook we referred to before was renamed
#197297 by DanW (as GHOP 17), and keith.smith: clean up lots of help texts, update to drag and drop functionality, drupal.module removal, etc
#198231 by Alex UA and JirkaRybka: profile module had a parse error in PHP 4 and there was a weighting error with form elements
#198579 by webernet and hswong3i: a huge set of coding style fixes, including: - whitespaces at end of lines - indentation - control structure usage - whitespace in empty lines - phpdoc comment formatting
#193998 by Rob Loach and quicksketch: profile fields drag and drop
- Patch #162381 by Heine et al: properly escape strings.
#192201 by myself: remove overly secure check_markup() and check_plain() usage which results in double escaped output
#192692 by jrbeeman and mfer: (security) protect profile category page menu items with the visibility settings already available
- Patch #191544 by Crell: split up profile module. Tested by catch.
#140377 by tostinni: provide a default weight to new profile fields, so they will not be saved with -5
#180897 by sun and dvessel: fix various XHTML validity issues in Drupal by closing unclosed tags, avoiding empty table containers, and so on
#176503 by chx and bennybobw: hidden profile fields cannot be required and cannot be put on the registration form, so we needed warnings on the editing form to not let admins save forms set with these combinations.
- Patch #173303 by dvessel: fixed E_NOTICE.
#170546 by ChrisKennedy: fix 7 E_ALL notices in profile module
- Patch #168028 by dvessler, merlinofchaos, pwolanin et al: both theme functions and templates may need include files. Flush your caches.
- Patch #80951 by killes, yched et al: block caching.
- Patch #162134 by dvessel: tplify profile module.
Drupal 5.2
#161142 by dvessel: kill notice on profile page when there are less then three components in the path
#114103 by adixon and webchick, slightly modified: custom profile fields show above built-in account fields
- Rollback of patch #147723: delete API. Talked to Steven and Gabor and we unanimously agreed to rollback the deletion API. We all support the features this patch added, yet not its actual design and implementation. After some talk, we decided that it would be better for Drupal -- in the long term -- not to go with a solution that isn't 100%. We also recognize that in the short term, this patch would have been useful addition. So let's figure out how we can implement this properly in D7.
#154064 by pwolanin: get hook_help() up to speed to menu changes, allowing router path based lookups, and also full path argument lookup with a passed argument array
#123577 by spatz4000 (originally by tostinni for Drupal 5): do not allow hidden profile fields to be browsed by non-admins
#123577 by tostinni and dvdweide. Show access denied instead of empty page for browsing hidden profile fields.
#115139: Add centralized json handler (and send text/javascript content-type header).
#153781: Convert all remaining confirm_forms() to deletion api.
#144397: Use drupal_render for user profiles and convert to themer-friendly .tpl.php files.
- Patch #145647 by spatz4000: unneeded fields in profile SQL query.
#145647 by lyricnz. Select only needed fields.
- Patch #150344 by webernet: language fixup.
- Patch #150344 by webernet: language fixup.
- Patch #146667 by Jeff Eaton: form API fixes.
- Patch #146667 by Eaton: correct builder argument ordering, eliminate redundant arguments
- Patch #146470 by Eaton et al: standardize form API3 hook parameter order.
- Patch #138706 by eaton, chx, webchick, yched et al: form api 3 ... yay. :)
- Patch #128082 by Goba et al: Allow localization of built-in menu items.
- Patch #76588 by Gabor: made log messages translatable. Yay.
- Patch #121425 by Chris Bray: fixed capitalization glitch.
- Patch #121425 by Chris Bray: fixed capitalization glitch.
- Patch #130987 by merlinofchaos: added theme registry for easier themability.
- Patch #119114 by edkwh: profile fields incorrectly saved.
#119114 by edkwh. Set the same profile values as the fields that were presented for user registration.
#130971: Kitchen sink (E_NOTICE compliance / Code style / Bugfix in book toc)
#114103 by adixon. Weight profile fields below the account information for the user registration page.
- Patch #113603 by chx: first crack at re-implementing tabs.
- Patch #115315 by kkaefer: fixed autocomplete for users.
- Patch #112715 by chx, webchick, asimmonds, et al: fixing E_ALL notices. Thanks.
- Patch #34755 by chx et al: faster menu system. HEAD is temporary broken and there is no upgrade path yet.
- Patch #108731 by add1sun: code cleanup.
- Patch #108731 by add1sun: code cleanup.
#108379: Faster profile field validation (eregi to preg_match)
#108366: Fix type on profile help.
- Always check the username.
- Patch #105216 by dww: profiles where no longer being themed due to missing CSS.
#102871: Fix profile.module fields that appear on registration page
#100516: CSS preprocessor to cache and compress all .css files. Benchmarks show up to 40% faster page loads.
- Patch #101546 by webchick: added PHPdoc comments.
Fixing commit of #100563 (thanks webernet)
#100563: Conditional loading of (some) module.css files
#97824 by Gurpartap. Move enclosing elements outside of their t().
- Patch #92992 by webchick and neclimdul: clean up documentation that is superseded by the new 'by module' administration dashboard.
- Patch #88402 by chx et al: made it possible to remove profile field.
Add missing array keys to fields when building user profile view, to make hook_profile_alter() use more consistent.
- Patch #90662 by hunmonk: profile registration fields broken for user admins
#84146: Use 'Sentence capitalization' for menu items, page titles, form items, etc
- Patch #89823 by jvandyck: removed unused line of code
- Modified patch #89405 by hiweed: fixed SQL error in profile module.
- Patch #87540 by MikalH: don't show blocked users on profile pages.
#79052: Category name cannot contain ampersands
- Patch #83222 by edkwh: more theme('placeholder') clean-up. Good catch.
- Patch #48344 by Tobias: fixed type in profile_browse().
- Patch #80952 by earl, webchick, neclimdul et al: .info files
- Patch #79476 by assimonds and webchick: fixed broken t()-iness. CVS: ----------------------------------------------------------------------
- Patch #77919 by chx, eaton, moshe, et al: enable programmaticaly submitted forms via the pull model.
#76802: Introduce placeholder magic into t() See: http://drupal.org/node/64279#t-placeholders
- Patch #69228 by openwereld: profile field values that should be browse-able (clickable) are not displayed as such.
#77183 by m3avrck and timcn, split up drupal.css by module.
- Patch #77422 by timcn: corrected various paths in the documentation.
#73884 by RobRoy, various code cleanup.
- Patch #72079 by Earl et al: give Drupal an overall administration page ... :-)
- Patch #72284 by me: + reorganized ?q=admin/settings + deprecated the _settings hook
- Patch #72204 by nedjo: upper-cased all TRUE/FALSE/NULL constants.
#71772 by Bart Jansens, fix various php warnings, backport from HEAD
#71772 by Bart Jansens, fix various php warnings
- Patch #51506 by gordon: new feature: added auto-complete functionality to user profiles.
- Patch #61952 by Matt: usability improvement: add auto-complete functionality on the profile configuration patch.
- Removing trailing whitespace.
#58568: Multiple profile selection boxes repeat items
#58239, required profile list not required, patch by Dries K
#56930: Custom values fall through on user listing (tenrapid)
#55797, consistency in author block, patch by dww
#56656: Make browsing profiles by value more consistent and usable.
#56750: Make date profile field work with ISO date format
#56682, missing t() in profile.module, patch by Goba.
#53348, Handling of deleted/blocked user accounts, patch by jreyero and Zen
#55788, author block configure page should only show public fields, patch by dww
#55040, Author block doesn't obey settings, patch by dww
#55640, change string comparion on $_GET[q] to arg(), patch by Robert Douglass.
#53628, postscriptum to Profile module: fapi conversion + minor fixes, patch by Zen
#53628, Profile module: fapi conversion + minor fixes, patch by Zen
#53628, reformatting of profile.module. Patch by Zen.
- Reverting accidental commit
- Code cleanup
- Patch #46746 by Matt: fixed inconsistent encoding of path aliases. Fixes broken URLs on profile pages.
- Patch #38578 by Zen: field->id -> field->fid.
- Patch #49912: www.drupal.org -> drupal.org. (Today's critical bugfix #5.)
- Patch #41509 by munga: setting profile field to hidden does not remove it from the user edit form. (Today's critical bugfix #2.)
- Patch #49132 by Tobias and Zen: fixed problem with profile fields being mangled.
- Patch #44724: fixed problem with profile.module.
- Patch #40200 by Ax, Drewish, Zen et al: user_view() isn't merging view items correctly + CSS cleanup + form handling cleanup.
- Patch #23538 by Zen: mark required fields are being required. The new forms API will enforce this too. :)
- Patch #33102 by Kobus et al: show dates properly.
- Patch #44490 by darius: don't show blocked users on the profile pages.
- Patch #43989 by darius: critical bugfix: removed debug code from profile module.
- Patch #24678 by jmengle, DriesK, Richard et al: bugfix: deleting a profile field doesn't delete values in profile_values table.
- Patch #39639 by Richard: 'users' appearing twice in menu.
- #41744: global urlencode() for menu paths
- Modified patch #41120 by chx: profile category 'account' overwrites regular user fields.
- Patch #38820 by wtanaka: profile listing carries over people's data on subsequent users.
- #37956: Respect weighting in profile browse pages - Fix non-pgsql compliant ORDER BY queries - Clean up ugly section that used db_escape_string()
- #37956: Respect weighting in profile browse pages - Fix non-pgsql compliant ORDER BY queries - Clean up ugly section that used db_escape_string()
- Patch #/38339 by crunchywelch: make the profile module display fields properly.
- Patch #37401 by webchick: fixed dependency of date selection form element on profile module.
- Patch #34514 by darius: fixed forms API glitches.
- Patch #35644 by webchick: forms API simplificiations.
- Patch #26139 by webchick / Kieran / documentation team: improved admin help of core modules! /
- #22850: Search query containing / results in 404 on clean URLs.
- #33433: More form API fixes, and error handling improvements by Chx.
- Patch #33752 by chx, adrian, et al: another batch of form API changes/fixes.
- Removing tabs and trailing whitespaces.
- Patch #29465: new form API by Adrian et al. TODO: + The contact.module was broken; a new patch for contact.module is needed. + Documentation is needed. + The most important modules need to be updated ASAP.
- Patch #31585 by Thox: fixed author information block.
- Patch #31123 by Ber: make it easier to theme the user profile pages.
- Patch #23536 by chx: custom registration fields should appear on admin/user/create.
- Patch #27949 by Robert: the two theme functions in profile.module both violate good theming practice by running user control logic in the middle of them. Worse yet, this isn't immediately visible since it happens in yet another function. Thus themers overriding these functions to style profile pages inadvertently break access control, thus leading to the misperception that overriding theme functions is inherently dangerous.
- Patch #27948 by Robert Douglas: fixed problem with author information block. (Looks like MySQL rewrites ORto IN() internally.)
- Patch #29385 by chx: no ?> add end of files.
- Patch #27947 by Robert Douglas: simplified code, removed SQL query.
- Bug 23810: removed redundant variable from SQL query.
- Patch #27737 by Gerhard: format_name($object) -> theme('username', $object).
Usernames can now be themed; eg. an icon/avatar could be added.
TODO: update contributed modules + update the migration docs.
- #27551: Rename check_output() to check_markup(). Needs contrib updates!
- Patch #25603 by Stefan: made the sizes of forms consistent. TODO: document the defaults in the PHPdoc comments.
- Removing some whitespace
- #23685: urlencode() profile field names and values in the URL (any dynamic data in an url should be urlencoded to prevent characters like # and & from being interpreted by the browser/server).
- #23685: urlencode() profile field names and values in the URL (any dynamic data in an url should be urlencoded to prevent characters like # and & from being interpreted by the browser/server).
- Bugfix: changed -> access
- Modified patch #21617 by Robin: added confirmation screen to delete profile fields. (I tidied up the coding style and fixed two typos.)
- Patch 20910 by chx: centralize print theme page.
- Fixed broken query
- Patch #12737 by pyromanfo: added support for private profile fields.
- Modified version of patch #20115 by Nedjo: added author information block. I rewrote part of the patch to improve the themability of the block, as well as its default look. I also left out the 'Recent posts' for now and shuffled some code around.
- #4166: Respect 'access userlist' permission for profile data.
- #4166: Respect 'access userlist' permission for profile data.
- Patch #19451 by JonBob: improved consistency of module descriptions. We should write guidelines for this -- maybe in the PHPDoc code of the _help hook.
- #18817: Clean up plain-text checking (see drupal-devel!)
- #18939 (Stefan): Always use paragraph tags around page help text.
- #16271: Clean up Admin - users - configure.
- Patch #15937 by wulff: made it so that titles of profile fields only need to be unique within a single category.
- Small bugfix + small improvement.
- Patch #13907 by Neil: less ways to set the page title. * Less logic in theme code. * Encourages use of the menu system. * Easier to find where a title or breadcrumb comes from in other people's code because there are less places to look. Look in menu and then grep for the appropriate set function. Looking for calls to theme_page() is hard because there are too many of them. * Very slightly more efficient.
- Patch #14035 by Goba: fixed problem with UTF-8 conversion when mixing LOWER() and strtolower().
- Patch #14035 by Goba: fixed problem with UTF-8 conversion when mixing LOWER() and strtolower().
- Patch 13180 by chx: renamed check_query() to db_escape_string() and implemtented it properly per database backend. Read the manual for pg_escape_string: "Use of this function is recommended instead of addslashes()." Or read sqlite_escape_string: "addslashes() should NOT be used to quote your strings for SQLite queries; it will lead to strange results when retrieving your data."
- Patch #11505 by Steven: 'my account' information is not saved.
+ Drupal 4.4 stored profile data in the serialized user->data column. Drupal 4.5 stores profile data in tables (but user->data is still available and used for other stuff, like locale or themes). The update from 4.4 to 4.5 didn't remove the old data from the user->data column properly, because there is no mechanism in user_save to do so (it did try to unset the fields, but this has no effect).
+ On registration, hook_user('insert') is invoked after saving the data column. This means that any module-specific data is put into the data field. We cannot move hook_user('insert') higher up, because before that point, we do not have a complete $user object yet.
#6595: Unifying profile.module textbox widths with user.module.
Profile.module: removing incorrect use of strtolower which messes up UTF-8 data.
- Bugfix: making changes to the user profiles should flush the cache.
- Patch #6500 by Mathias with help from Steven: made it possible to add fields to the registration form. This feature used to exist.
- Patch #8179 by JonBob: reintroduced menu caching.
- Patch by JonBob: for consistency and readability, add brief descriptions of each source file inside the @file comment block at the head of the file. This helps with Doxygen indexing, and also allows neophytes to see what a file does immediately on opening the source, regardless of the organization of the hooks.
- Code improvements by Stefan: use capital letters for header titles (and added some missing t() functions).
- Code improvements by Stefan: made all status messages consistent (and easier to translate).
#10012 - Profile.module: - Restoring broken update path. - Adding birthday/date function back, with update path. - Show private fields when viewing your own profile, or for admins. - Do not allow browsing of private fields for non admins (403) - Throw a 404 for browsing unbrowsable fields, rather than an SQL error - Fixing input processing: nothing is filtered twice anymore, and I replaced several strip_tags with specialchars (more flexible). - Minor admin UI tweaks + added friendly field type names.
- Modified patch #9924 by njivi: added a basic member list to the profile module. (If this deprecates the memberlist module, it ought to be deprecated.) I removed the permission njivi introduced and made the page title match the link title.
- Patch #9865 by njivy: avoid mangling %'s in the profile SQL query.
- Patch #9866 by njivy: when the links are generated for each item in a list-type profile field, double quotes in the item name can break the link. To fix this, this patch gives drupal_specialchars() the ENT_QUOTES parameter to convert quotes into HTML entities. This fix is also applied to selection-type profile fields which can have the same problem.
- Patch #9478 by JonBob: allow printf-style arguments in pager_query. Currently pager_query() is the black sheep of the database query family, because it does not allow for printf-style arguments to be inserted in the query. This is a problem because it introduces developer confusion when moving from an unpaged query to a paged one, and it encourages substitution of variables directly into the query, which can bypass our check_query() security feature. This patch adds this ability to pager_query(). The change is backwards-compatible, but a couple calls to the function in core have been changed to use the new capability.
- More tab-improvements by JonBob: improved support for the default tabs!
- Usability improvement: users can also separate 'list items' (i.e. favorite movies) using a comma. Only few users actually read the form description, it seems ...
- Patch by Steven and me: refactored the form handling of nodes. The node system is now using form_set_error() and friends like the rest of Drupal does. This makes for both a consistent user experience and consistent code. It simplifies the forms and validation code, however, it does change the node API slightly:
* 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').
Using drupal_specialchars() instead of htmlentities(). htmlentities() is not UTF-8 safe.
I refactored quite a bit of the user.module: $ diffstat user.patch database/database.mysql | 4 database/database.pgsql | 2 database/updates.inc | 10 - modules/block.module | 20 +- modules/locale.module | 9 modules/profile.module | 108 +++++++---- modules/system.module | 8 modules/user.module | 456 +++++++++++++++++++----------------------------- 8 files changed, 289 insertions(+), 328 deletions(-) More functionality, less code. Here is a list of the changes: - Some user API changes: + When $type is 'form', you have to return an associative array of groups. In turn, each group is an array with a 'title', 'data' and 'weight'. + A new $type has been added, namely 'categories'. User settings can be organized in categories. Categories can be sorted, as can the groups within a category. (Ordering 'categories' is somewhat broken due to a bug in the menu system.) - The 'my account > edit' page will use subtabs for each 'category'. Read: you can break down the account settings into multiple subpages. - Profile module improvements: + Added support for private fields to the profile module! + Improved workflow of profile administration pages. + Improved the form descriptions. - Code improvements: + Unified user_edit() and user_admin_edit(). + Unified and cleaned up the validation code. Fixed some validation glitches too.
- Fixed administration pages being broken due to tabs changes, improved form handling and form descriptions and fixed an incorrect title.
Tabs patch!
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').
- Patch #8105 by mathias: made the menu system aware of path aliases.
- Improved form handling.
+ 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().
- Added some error checking to the profile module.
- Patch #7585 by Gerhard: extra data added by profile.module to the user object got saved in the user's data column even if there is a dedicated table for that information.
- Fixed sitewide timezone settings not being saved. - Making sure profile fields are saved properly.
- Applied patch #6552: Put back register_form and register_validate callbacks in user.module. - Fixed bug #7406: User delete hook incorrect params.
- Patch #6791: mark required fields. Modified patch by Michelangelo.
- Added support for 403 handling. Patch by JonBob. As a side benefit, 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.
- Patch by JonBob/Jonathan: reworked the menu system so that menus are 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.
- Patch 6751 by TDobes: fixed call-by-reference problem
- Profile module improvement: * Made it possible to set certain fields as 'required'. To do: * Mark them as required visually. * Add required fields to the subscription page.
- Patch #6632 by Moshe: added missing brackets around table name.
- Patch #6470 by Brian: fixed more XHTML erros related to multiple selects.
- More profile module improvements:
+ 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.
- More profile module improvements: + Add a new field type: 'list'.
- Profile module improvements: added a URL-type field to the profile module. We can use this for the 'URL of homepage' field on drupal.org. URL fields are rendered as links and are being validated.
- Profile module improvements: + 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.
- Patch #6406 by TDobes: fixed typos in profile/user module.
- Added a CVS Id
- Rewrote the profile module:
+ 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.
- Patch 5969 by Chris: improved the profile module's context sensitive help text
- Patch 5592 by Goba: let drupal_map_assoc() rule. :-) - Renamed CHANGELOG to CHANGELOG.txt for Windows uses.
- Batch two with profile module improvements: + Reworked the 'account administration' page. + Fixed bug in the 'edit account' page. + Removed some dead code from the system.module.
- First batch of profile module improvements:
+ 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.
- Patch #5021: clean up URLs in _help texts. Patch by UnConeD.
- XHTML improvements: <b> -> <strong>. Patch by Stefan.
- Tidied up some inconsistencies in the code: scripts/code-style.sh is your friend.
- Fixed fileuploads for nodes failing without preview.
- Fixed switch in file_create_url(). - Fixed profile module not extracting mime type. - Improved file matching in profile module.
- Added file handling. Work by Kjartan.
- Fixed incorrect filter usage.
- Fixed incorrect filter usage
- table(...) -> theme("table", ...)
- Committed stage 2 of the theme system improvements! Patch by CodeMonkeyX.
- Fixed prefix problem with the book module. Patch by Moshe. - Usability improvements to the user module: removed some redundant menu items by taking advantage of the column sorting, added status messages and so on. Patch by Moshe plus some fixes. - Made the profile module use the table() function. Patch by Moshe. - Fixed breadcrumb spacing. Patch by Moshe. - Fixed colspan problem with node overview table. Patch by Stefan. - Fixed inconsistency with table sorting. Patch 0122 by Al.
- Fixed translation bugs with statistics module. Patch by Gabor. - Removed 'homepage' field from user table. Patch by Gabor. - Added 'real name' field to the profile module. Patch by Gabor.
- Help system improvements: eliminated the _system hook. Patch by Michael. - Bloggerapi module fixes. Patch by Kjartan. - Coding style fixes. Patch by Michael.
- Help improvements and translation improvements from Michael. Thanks!
- Updated the profile module to use the new help system. Patch by Michael.
- Some documentation fixes as per Charlie's suggestion: bug #2260.
- Some documentation fixes as per Charlie's suggestion: bug #2260.
- Bugfix: fixed problem with changing themes. Didn't apply Al's patch as the fix was somewhat simpler. Fixes bug #2003. - Bugfix: fixed problem with voting on certain poll pages. Patch #37 by Al. - Improvement: removed stupid descriptions from profile module.
- Improvements: XHTML-ifications. Patch by GmbH.
- Bugfix: fixed the CREATE FUNCTION in database.mssql as it needs to be prefixed with GO for some obscure reason. Patch by Kjartan. - 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.
- Bugfix: an administrator could not edit the avator through the admin interface because it used the global $user object inside its functions rather then the user to be edited. Patch by Matt Westgate.
- Bugfix: renamed the SQL field 'types' to 'nodes' because 'types' is a reserved keyword in MySQL 4. This fixes critical bug #1618. Patch by Marco. ==> 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.
- Fixed some translation bugs in the profile module. (I wasn't going to commit this yet but I accidentically did so now I've cleaned it up.) Original patch by Matt. Thanks for spotting the t() problem Al.
- Bugfix: made request_uri() rewrite ( and ) with their entity equivalents 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?
- Michael Frankowski's excellent help text improvements!
- Fixed a typo in the PostgreSQL database scheme. Patch by Michael Frankowski. - 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 #1336: profile module problem. Patch by Al.
- Fixes bug #1336 and #1473.