Commit Graph

102 Commits (3701c02e59d7489331e8d298d5c7a7fd51b72b28)

Author SHA1 Message Date
Dries Buytaert 1b1c47025a 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.
2004-06-27 19:10:52 +00:00
Dries Buytaert 54b77d6435 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').
2004-06-18 15:04:37 +00:00
Kjartan Mannes dfd66f998d - Fixed sitewide timezone settings not being saved.
- Making sure profile fields are saved properly.
2004-04-29 23:27:15 +00:00
Dries Buytaert 7231c88a32 - 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.
2004-04-21 13:56:38 +00:00
Dries Buytaert 10bdb51c37 - 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.
2004-04-15 20:49:42 +00:00
Dries Buytaert 2101f6c454 - 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.
2004-03-11 20:33:59 +00:00
Dries Buytaert 4b0b2d02ee - Patch by Steven: removed redundant permission checks. These are no longer
required thanks to the new 404 handling.
2004-02-15 20:09:46 +00:00
Dries Buytaert bc8057df38 - Patch #5613 by Goba: fixed translation issue with archive module and removed
some locale module code that is now part of extractor.php.
2004-02-08 17:07:07 +00:00
Dries Buytaert 5a8129e0fb - 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.
2004-02-07 16:18:46 +00:00
Dries Buytaert dc938c533b - Patch #5567 by Goba: fixed t() functions, cleanup of locale module's help,
fixed translation issues in taxonomy module, etc.
2004-02-01 21:04:42 +00:00
Dries Buytaert 10e8da6937 - Patch 5246 by Stefan: usability improvements for the locale module. 2004-01-26 19:47:58 +00:00
Dries Buytaert a8b8c247db - Patch #5021: clean up URLs in _help texts. Patch by UnConeD. 2004-01-11 20:31:26 +00:00
Dries Buytaert 7e67d99178 - Locale module improvements: better performance, reduce memory footprint.
Patch by Bart.
2003-12-28 09:40:49 +00:00
Dries Buytaert d5c8026454 - Updated the calls to menu() to use MENU_HIDE instead of 1 2003-12-17 22:27:23 +00:00
Dries Buytaert 712a30b520 - Improvements by Goba:
+ 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.
2003-12-08 18:30:20 +00:00
Dries Buytaert 4e2c0b250e - Introduced a drupal_set_message() and drupal_get_message() function.
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.
2003-12-01 13:45:33 +00:00
Dries Buytaert c0494c0a2b - Committed phase 4 of JonBob's menu system changes. 2003-11-25 19:26:21 +00:00
Dries Buytaert 4bdac4333b - Patch by JonBob:
Phase 2 of the menu system integration project. This unifies the interface
  used by admin and non-admin pages, and deprecates the _page hook in favor of
  explicit callbacks from menu(). Breadcrumbs, titles, and help text go away
  as a result of this patch; they will return in the phase 3 patch, printed
  by the theme.
2003-11-20 21:51:23 +00:00
Dries Buytaert 36bb57555c - table(...) -> theme("table", ...) 2003-11-13 19:52:54 +00:00
Dries Buytaert ef0fa006ed - Usability improvement: replaced many selection boxes by radio buttons.
Patch by Stefan.
2003-11-07 19:03:35 +00:00
Dries Buytaert 6735be0992 - Bugfix: PostgreSQL problem with locale module. Fixed bug #3900. Patch #139
by Gerhard.

- Forum module improvements.  Patch #138 by Ax.
2003-11-05 17:40:41 +00:00
Dries Buytaert b11d99fe16 - Fixed bug #3564: missing check in locale module. 2003-10-09 19:19:07 +00:00
Dries Buytaert 1a5fcacdd9 - Committed part 3 of Michael's help system improvements: removed the $help
parameter from the menu() function.
2003-10-09 18:53:22 +00:00
Dries Buytaert 22c889e7c0 - Help system improvements: eliminated the _system hook. Patch by Michael.
- Bloggerapi module fixes.  Patch by Kjartan.

- Coding style fixes.  Patch by Michael.
2003-10-07 18:16:41 +00:00
Dries Buytaert 87fe2d4250 - Bugfix: fixed print problem. Patch by Gabor. 2003-10-05 17:23:51 +00:00
Dries Buytaert 6b2038d762 - Removed a debug statement from the locale module. Thanks Gobar. 2003-10-03 17:17:18 +00:00
Dries Buytaert 058971c33b - Help improvements and translation improvements from Michael. Thanks! 2003-10-03 14:55:27 +00:00
Dries Buytaert 392304da5f - Moved the locale settings from the user module to the locale module.
Patch by Stefan.

- Moved the theme settings from the user module to the system module and
  made the code more intelligent.  Patch by Stefan.
2003-09-30 21:48:32 +00:00
Dries Buytaert c8b28009cd - Made sure all menu items can be translated. Path by Goba. 2003-09-28 15:18:55 +00:00
Dries Buytaert f104d3cc12 - Committed the admin menu integration patch. Thanks Adrian, Stefan and others. 2003-09-26 10:04:09 +00:00
Kjartan Mannes 8f7063b2d8 - Fixed bloggerapi not saving the uid for new nodes.
- Cleaned up coding style and unnecessary code in bloggerapi.module.

- Removed moderation notice from queue module, it prints even when users
  are not posting from the web.

- Fixed bug #2895: locale: pager doesn't work in search
2003-09-23 19:28:03 +00:00
Dries Buytaert 2fbc7fcf27 - Committed a partial administration page integration patch. 2003-09-19 07:41:55 +00:00
Dries Buytaert 2c342df5a9 - Fix for bug #2691: crash due to locale module. Patch by Bruno. 2003-09-03 12:05:46 +00:00
Dries Buytaert e330d7c654 - Fixed bug #2690. Patch by Bruno. 2003-08-30 21:16:23 +00:00
Dries Buytaert 022db9a21a - Updated the locale module to the new help system. Patch from Michael. 2003-08-21 19:29:31 +00:00
Dries Buytaert 337b3c9de9 - Committed a slightly modified version of Slavica's table prefix patch. 2003-07-10 17:46:44 +00:00
Dries Buytaert b59094355a - Made the tracker module link to your own posts. Patch 79 from Gerhard.
- Added a permalink to the Xtemplate theme.  Requested by Scott.

- Added pager support to the locale module.
2003-07-09 18:39:46 +00:00
Dries Buytaert cc837807c6 - Bugfix: made searching locale strings work. Patch by Al. Fixes bug #1986. 2003-06-17 18:14:43 +00:00
Dries Buytaert 10e1c07502 - Bugfix: locale module fix for bug # 1822 (translated/untranslated and search
issues).  Patch #12 by Al.
2003-06-15 19:42:27 +00:00
Dries Buytaert 1a2576036b - Bugfix: charset fixes/clean-up. Patch #52 by Al.
- Improvement: renamed some theme functions of the forum module for sake of consistency/readability.  Patch #2 by Kristjan.

- Improvement: usability improvements to the Xtemplate theme.  Patch #3 by Kristjan.

- Improvement: CSS'ified the book module pages.  Patch #3 by Al.  (I simplified the "l
ocation" part.  Al's approach gave you a bit more power but I'm not sure anyone wants
to change that.  Besides, this will change as soon we integrate the menu system so I kept it easy for now.)
2003-06-12 17:24:06 +00:00
Dries Buytaert 3b8c99d91e - 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.
2003-06-11 18:16:32 +00:00
Dries Buytaert 522ed4d64c - More charset patches by Al. 2003-06-05 21:26:27 +00:00
Dries Buytaert 355d25e73d - 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.
2003-06-04 18:24:39 +00:00
Dries Buytaert 54774aa825 - Removed the module field from the locale search form. It won't work and
there is no easy replacement.

- Wrapped the strings in htmlentities() such that one can see the HTML.
2003-06-02 20:54:37 +00:00
Dries Buytaert 8d2b1238b4 - Michael Frankowski's excellent help text improvements! 2003-05-29 09:15:00 +00:00
Dries Buytaert c2d2fb7309 - 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.
2003-05-13 18:36:38 +00:00
Dries Buytaert a161110a6b - Applied Michael Caerwyn's "%s -> %d" patch.
- Changed all occurences of '%d' to %d as suggested on the mailing list.
2003-05-07 21:00:36 +00:00
Dries Buytaert 4c0d7da02f - Added admin description suggested by Gunnar (slightly modified). 2003-04-22 20:10:23 +00:00
Dries Buytaert 170b674a09 - All LIMIT queries must go through the pager or through db_query_range().
The syntax for db_query_range() was enhanced so it matches db_query(). So
  you may pass extra arguments of the SQL statement which are checked via
  check_query() and then substituted into the SQL statement. After these
  optional arguments, you always pass $from and $count parameters which
  define your range.  Most often, the $from is 0 and the count is the max
  number of records you want returned.  Patch by Moshe.

- The pager_query() function for PEAR was enhanced so that it adds  proper
  GROUP BY statement counting the number of records to be paged. Patch by
  James Arthur.

- MSSQL database scheme by Moshe.
2003-03-16 07:02:20 +00:00
Dries Buytaert bca66646f0 - Performance improvement. Patch by Zbynek.
1) Even when string is not translated, put it in the cache and save a
     query for each untranslated string.
  2) When there is no cache, create one.
2003-02-26 21:54:35 +00:00