• Dries's avatar
    I refactored quite a bit of the user.module: · 1b1c4702
    Dries authored
    $ 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.
    1b1c4702
updates.inc 40.5 KB