Commit Graph

160 Commits (76eace311e206c352d9d965a099d5d4cc457249a)

Author SHA1 Message Date
Dries Buytaert 5d759ccbb9 - Patch #5942 by jhriggs and Adrian:
+ added support for multi-site configurations.
    + tidied up some old cruft and added code comments.
2004-11-24 22:44:01 +00:00
Dries Buytaert 4dafd85f54 - Adding the missing flood tables. Sorry. 2004-11-16 18:46:48 +00:00
Dries Buytaert f01bd675c0 - Performance improvement: made 'sid' the primary key of the sessions table.
That should improve performance of session handling as well improve
  performance of the "Who's online"-block.  Drupal.org's sessions table
  contains appr. 40.000 sessions on a slow day and rendering the "Who's
  online"-block became a performance bottleneck.

  This change has yet to be tested on a busy site so things might go wrong.
2004-11-07 21:53:55 +00:00
Dries Buytaert b6eee48c88 - Patch #12232 by Steven: more search improvements:
+ When a comment is posted, a node needs to be re-indexed. Luckily, we can use node_comment_statistics for this easily.
   + When a node is deleted, it should be deleted from the search index as well.
   + The search wipe didn't properly remove links to nodes from the index.
   + Section url was faulty in _help.
   + Minor code rearrangement.
2004-11-04 06:47:03 +00:00
Dries Buytaert bd6ae69345 - Patch by Steven:
+ Display 'friendly' name rather than module name in search watchdog
     messages.
   + Remove left-over from search_total table.
   + Add index wipe button to the admin
   + Moved the admin to admin/settings/search
   + Prevented menu bug when node modules update the breadcrumb in view
     (thanks JonBob).
   + Changed search_total table's word key to PRIMARY.
2004-11-03 16:46:58 +00:00
Dries Buytaert b3adcf05a3 - Patch #11875 by Neil Drumm: block module configuration improvements.
The primary goal of this patch is to take the 'custom' and 'path' columns of the block overview page and make them into something understandable. As of Drupal 4.5 'custom' lacked an explanation which wasn't buried in help text and path required dealing with regular expressions.

Every block now has a configuration page to control these options. This gives more space to make form controls which do not require a lengthy explanation. This page also gives modules a chance to put their block configuration options in a place that makes sense using new operations in the block hook.

The only required changes to modules implementing hook_block() is to be careful about what is returned. Do not return anything if $op is not 'list' or 'view'. Once this change is made, modules will still be compatible with Drupal 4.5. Required changes to core modules are included in this path.

An additional optional change to modules is to implement the additional $op options added. 'configure' should return a string containing the configuration form for the block with the appropriate $delta. 'configure save' will come with an additional $edit argument, which will contain the submitted form data for saving. These changes to core modules are also included in this patch.
2004-10-31 07:34:47 +00:00
Dries Buytaert 8daed9cbf3 - Patch #12232 by Steven/UnConed: search module improvements.
1) Clean up the text analyser: make it handle UTF-8 and all sorts of characters. The word splitter now does intelligent splitting into words and supports all Unicode characters. It has smart handling of acronyms, URLs, dates, ...

2) It now indexes the filtered output, which means it can take advantage of HTML tags. Meaningful tags (headers, strong, em, ...) are analysed and used to boost certain words scores. This has the side-effect of allowing the indexing of PHP nodes.

3) Link analyser for node links. The HTML analyser also checks for links. If they point to a node on the current site (handles path aliases) then the link's words are counted as part of the target node. This helps bring out commonly linked FAQs and answers to the top of the results.

4) Index comments along with the node. This means that the search can make a difference between a single node/comment about 'X' and a whole thread about 'X'. It also makes the search results much shorter and more relevant (before this patch, comments were even shown first).

5) We now keep track of total counts as well as a per item count for a word. This allows us to divide the word score by the total before adding up the scores for different words, and automatically makes noisewords have less influence than rare words. This dramatically improves the relevancy of multiword searches. This also makes the disadvantage of now using OR searching instead of AND searching less problematic.

6) Includes support for text preprocessors through a hook. This is required to index Chinese and Japanese, because these languages do not use spaces between words. An external utility can be used to split these into words through a simple wrapper module. Other uses could be spell checking (although it would have no UI).

7) Indexing is now regulated: only a certain amount of items will be indexed per cron run. This prevents PHP from running out of memory or timing out. This also makes the reindexing required for this patch automatic. I also added an index coverage estimate to the search admin screen.

8) Code cleanup! Moved all the search stuff from common.inc into search.module, rewired some hooks and simplified the functions used. The search form and results now also use valid XHTML and form_ functions. The search admin was moved from search/configure to admin/search for consistency.

9) Improved search output: we also show much more info per item: date, author, node type, amount of comments and a cool dynamic excerpt à la Google. The search form is now much more simpler and the help is only displayed as tips when no search results are found.

10) By moving all search logic to SQL, I was able to add a pager to the search results. This improves usability and performance dramatically.
2004-10-31 03:03:27 +00:00
Dries Buytaert e86b041fa3 - Modified patch #11689 by Adrian: made the locale module work with PostgreSQL. 2004-10-18 18:35:19 +00:00
Dries Buytaert 869a91b72e - 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.
2004-10-16 16:59:59 +00:00
Steven Wittens 39e40b5bbd Bug: the default filter setup had the wrong filter delta for the linebreak filter. Now it matches updates.inc. 2004-10-13 20:57:54 +00:00
Steven Wittens 4ffb22a81c Changing the value of variable "update_start" to match updates.inc. 2004-10-08 18:15:15 +00:00
Steven Wittens 4d24853482 Fixing stray comma in database.*sql 2004-09-23 16:56:58 +00:00
Dries Buytaert 29b8977a82 - Bugfix: the access rule mask does not have to be unique. It should be possible to use a particular mask for both e-mail and username rules. This also avoids an SQL query error. Fixes bug report #10551. 2004-09-22 21:33:28 +00:00
Dries Buytaert 6dbd0bcfb4 - Patch #6500 by Mathias with help from Steven: made it possible to add fields to the registration form. This feature used to exist. 2004-09-19 13:28:11 +00:00
Steven Wittens f8b429e963 #10862: Smarter filter cache wiping. 2004-09-15 20:34:35 +00:00
Dries Buytaert 5a90260d95 - Patch #10775 by crackermackjack: fixed error in the database.mysql file that is incompatible with Mysql > 4.1.x.
- Patch #10786 by crackermackjack: fixed bug in session keys (bug in particular MySQL version).
2004-09-13 13:50:06 +00:00
Dries Buytaert 6ea5c56ded - Theme system changes. Please consult http://drupal.org/node/view/9576 for details. 2004-08-20 07:51:27 +00:00
Dries Buytaert 78b052a6af - The upload (filehandler) module has landed! 2004-08-17 21:35:26 +00:00
Dries Buytaert 1831e1b690 - New locale module thanks to Gerhard, Goba, Marco, Kristjan and others.
The new locale module provides every functionality on the web interface, so you don't need to edit the configuration files or add columns, when you add a new language. This module is an integration of the old locale and localegettext modules, plus a bunch of logic to parse Gettext Portable Object files (opposed to Machine Object files, as supported by localegettext).

  Note: I made some minor changes to the context-sensitive help texts and to some of the status messages.
2004-08-11 11:26:20 +00:00
Steven Wittens 660f99287d The Input formats - filter patch has landed. I still need to make update instructions for modules and update the hook docs.
Here's an overview of the changes:
1) Multiple Input formats: they are complete filter configurations (what filters to use, in what order and with which settings). Input formats are admin-definable, and usage of them is role-dependant. For example, you can set it up so that regular users can only use limited HTML, while admins can free HTML without any tag limitations.
The input format can be chosen per content item (nodes, comments, blocks, ...) when you add/edit them. If only a single format is available, there is no choice, and nothing changes with before.

The default install (and the upgrade) contains a basic set of formats which should satisfy the average user's needs.

2) Filters have toggles
Because now you might want to enable a filter only on some input formats, an explicit toggle is provided by the filter system. Modules do not need to worry about it and filters that still have their own on/off switch should get rid of it.

3) Multiple filters per module
This was necessary to accomodate the next change, and it's also a logical extension of the filter system.

4) Embedded PHP is now a filter
Thanks to the multiple input formats, I was able to move the 'embedded PHP' feature from block.module, page.module and book.module into a simple filter which executes PHP code. This filter is part of filter.module, and by default there is an input format 'PHP', restricted to the administrator only, which contains this filter.
This change means that block.module now passes custom block contents through the filter system.
As well as from reducing code duplication and avoiding two type selectors for page/book nodes, you can now combine PHP code with other filters.

5) User-supplied PHP code now requires <?php ?> tags.
This is required for teasers to work with PHP code. Because PHP evaluation is now just another step in the filter process, we can't do this. Also, because teasers are generated before filtering, this would result in errors when the teaser generation would cut off a piece of PHP code.

Also, regular PHP syntax explicitly includes the <?php ?> tags for PHP files, so it makes sense to use the same convention for embedded PHP in Drupal.

6) Filter caching was added.
Benchmarking shows that even for a simple setup (basic html filtering + legacy URL rewriting), filtercache can offer speedups. Unlike the old filtercache, this uses the normal cache table.

7) Filtertips were moved from help into a hook_filter_tips(). This was required to accomodate the fact that there are multiple filters per module, and that filter settings are format dependant. Shoehorning filter tips into _help was ugly and silly. The display of the filter tips is done through the input format selector, so filter_tips_short() no longer exists.

8) A more intelligent linebreak convertor was added, which doesn't stop working if you use block-level tags and which adds <p> tags.
2004-08-10 18:34:29 +00:00
Steven Wittens cabd6c892c #9810: PostgreSQL updates by Adrian. 2004-08-06 09:49:25 +00:00
Dries Buytaert c0f6fccac3 - Patch #7336 by TDobes: in various parts of Drupal, we use the title attribute for links to provide a slightly more detailed explanation as to the purpose of a link or where it goes. 2004-08-03 18:01:48 +00:00
Dries Buytaert 0582a304fd - Patch by Jeremy: statistics module improvements. 2004-08-03 09:27:00 +00:00
Dries Buytaert ca3e769fa6 - Patch by Matt: fixed small typo. 2004-07-31 16:18:26 +00:00
Dries Buytaert 202eee42a9 - Patch #9543 by JonBob: added node-level access control! 2004-07-31 09:30:09 +00:00
Dries Buytaert 9e43afadc7 - Patch by Matt: made it possible to alias an URL multiple times. 2004-07-11 06:53:39 +00:00
Dries Buytaert e3e051cc0d - Patch #8585 by Junyor: sort blog items by creation date. Added some database indices. 2004-06-30 07:26:02 +00:00
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 cbc230a36c - Patch #7696 by TDobes: renamed 'static' to 'sticky' which is a more
logical name.  Requires a database upgrade.
2004-06-19 10:39:36 +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
Dries Buytaert d0090e69e6 - Patch #7614 by jhriggs: fixed some role related problems. 2004-05-19 14:55:19 +00:00
Dries Buytaert 10c5e95a2f - Made it possible for anonymous users to leave their name, e-mail address
and the URL of their homepage.  Patch by Pablo.
2004-05-18 18:41:46 +00:00
Dries Buytaert 1ad9afb8a7 - Added support for multiple user roles. Patch by Jim Hriggs. 2004-05-10 20:34:25 +00:00
Dries Buytaert 3117258552 - Various aggregator module improvements. Modified patch by drumm. 2004-04-27 20:10:09 +00:00
Dries Buytaert 5403982589 - Patch #6009 by Matthias: reworked the help texts of the taxonomy module generated forms. The help text can now be customized. 2004-04-24 16:42:39 +00:00
Dries Buytaert df97450834 - Patch #7286 by LiDave: improved filter table indices. I updated database/updates.inc as well. 2004-04-24 07:50:39 +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 5f17ad3c2d - 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.
2004-03-27 14:50:56 +00:00
Dries Buytaert b5c441a926 - 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.
2004-03-20 19:41:42 +00:00
Dries Buytaert a71c5ef538 - Fix #6393 by TDobes: fixed users table after. It was not updated properly after the recent profile module changes. 2004-03-12 18:30:27 +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
Kjartan Mannes dccc295504 - Updating update_start value. 2004-02-21 22:38:01 +00:00
Kjartan Mannes fa1d8916fb - Cleaning up database definition. 2004-02-21 19:16:48 +00:00
Dries Buytaert 9d3d374bc8 - Patch by Killes: drop the 'attributes' field from the 'users' table. It
is no longer used.
2004-02-21 19:01:04 +00:00
Dries Buytaert bfba335376 - Added the possibility to reorder filters. Patch by UnConeD. 2004-02-06 19:07:56 +00:00
Dries Buytaert 8a913ffe7c - Removed the 'Page not found' message after the initial install and removed
some old user module logic to install the initial role IDs.
2004-01-24 16:54:22 +00:00
Dries Buytaert f3f76309cf - Added default permissiona to the MySQL and PosgreSQL database scheme to
prevent 404s.  The MS SQL database scheme still needs to be updated ...
2004-01-15 20:20:34 +00:00
Dries Buytaert 6fc2070a22 Patch 5114 by Kjartan:
- 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.
2004-01-14 22:30:09 +00:00
Dries Buytaert ee305ae144 Round 3 of aggregator improvements:
- 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.
2004-01-11 15:05:21 +00:00
Dries Buytaert 94f6e94ffd - Many excellent news aggregator improvements by Kjartan:
+ 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.
2004-01-07 19:52:10 +00:00