Commit Graph

454 Commits (d48351a027ed58ddbbd10e196617cdd237ed46c4)

Author SHA1 Message Date
Dries Buytaert a3e9b35afc - Patch #19451 by JonBob: improved consistency of module descriptions. We should write guidelines for this -- maybe in the PHPDoc code of the _help hook. 2005-04-01 15:55:02 +00:00
Steven Wittens be14203534 - #18817: Clean up plain-text checking (see drupal-devel!) 2005-03-31 09:25:33 +00:00
Steven Wittens c3f1f7345e - #18939 (Stefan): Always use paragraph tags around page help text. 2005-03-18 07:07:04 +00:00
Dries Buytaert f4b5313483 - Patch #18983 by Ber: small code improvement. 2005-03-16 19:34:13 +00:00
Steven Wittens ebc7c0dfe0 - Fix missing parameter in user.module 2005-03-05 18:03:16 +00:00
Steven Wittens ad973366ab - Fix overzealous session wiping 2005-03-04 03:43:41 +00:00
Steven Wittens 198ec98f75 #18329: Unify confirmation messages (and make them themable) 2005-03-03 20:51:27 +00:00
Dries Buytaert 84268b3a34 - Patch #17770 by chx: added missing NULL-arguments to _user() hook. 2005-03-01 20:21:08 +00:00
Steven Wittens ea08f062b2 - Fix broken session deleting on account blocking. 2005-03-01 18:44:41 +00:00
Steven Wittens 9803bc4321 - Delete a user's sessions when blocking his/her account. 2005-02-28 18:13:12 +00:00
Dries Buytaert 174d22dbbb - Patch #17931 by Neil: fixed bug in access rules page:
* split up the menu callback for editing/adding/deleting rules
  * improved the delete message
  * fixed a double page printing bug
2005-02-28 16:41:15 +00:00
Steven Wittens cd552adee0 More search usability improvements!
- Clean URLs: search/type/keywords e.g. "search/node/drupal release". The search
  form is POST submitted, but drupal_gotos to a GET page. This makes it easy to
  copy/paste search URLs, and makes the pager a lot cleaner.

- Remember the search keywords when switching between the search tabs. This is
  done through the same GET URLs rather than the session, so it does not mess up
  between multiple browser tabs.

- Report which keywords were ignored because they were too short.

- #820: Provide search block

- Treat multiple wildcards in a row as one
2005-02-27 02:15:57 +00:00
Steven Wittens d2bfc18880 #17477: Remove dependency on GD for avatars. 2005-02-22 06:18:23 +00:00
Dries Buytaert 5b7ecb8650 - Patch #17208 by asimmonds: help text fixes:
- permissions menu link updates in a number of modules help
    - anchor link fix in distributed auth help
    - "my account" link fix in user help
    - spelling correction in tracker.module help

- I also changed 'admin/access/perms' to 'admin/access/permissions'.
2005-02-12 07:51:14 +00:00
Dries Buytaert 16993da34f - Fixed two broken URLs in the help text. 2005-02-10 19:19:43 +00:00
Dries Buytaert d77ac14c31 - Patch #16972 by Neil: don't use align operations. Removed hard-coded CSS. 2005-02-08 19:28:33 +00:00
Dries Buytaert fbec279e4c - Patch #16246 by Moshe: added mechanism to direct the user back to the referring page after completing a form.
(Moshe: the patch against node.module failed to apply.)
2005-02-01 19:45:58 +00:00
Dries Buytaert 7ccc5a6b1b - Patch #16358 by James: added toolkit to enable better image handling. The avatar code and the upload module have been updated to take advantage of the new image API.
There are 5 main functions that modules may now utilize to handle images:

* image_get_info() - this function checks a file.  If it exists and is a valid image file, it will return an array containing things like the pixel dimensions of the image, plus the 'type' and common extension.
* image_scale - resizes a given image to fit within a given width / height dimensions, while maintaining aspect ratio (not distorting the image).  This function can be used to generate thumbnails, or ensure a maximum resolution, etc.
* image_resize - similar to image_scale (but will not respect aspect ratio - may well distort the image).
* image_rotate - rotate an image by X degrees
* image_crop - crops an image to a given rectangle (defined as top-left x/y coordinates plus a width & height of the rectangle).

Contribution modules will now be able to rely on these base manipulation functions to offer additional functionality (such as image nodes, photo galleries, advanced image manipulation, etc).
2005-02-01 16:27:43 +00:00
Dries Buytaert 993ea0c6c5 - Patch #16111 by chx: generalized node_rewrite_query to db_rewrite_query. 2005-01-29 22:02:37 +00:00
Steven Wittens cc3fd1715f - #16271: Clean up Admin - users - configure. 2005-01-28 20:49:00 +00:00
Dries Buytaert b4d516f423 - Patch #13184 by JonBob: changed the 'my account' menu to a 'dynamic menu' so it can't be edited. 2005-01-27 21:34:38 +00:00
Dries Buytaert 7f4be97763 - Patch #16176 by Drumm based on mockup from Kika: improve access rules UI. 2005-01-25 20:27:09 +00:00
Dries Buytaert d9382d8c15 - Patch #16028 by Goba: added class="form-password" to the password form. 2005-01-23 15:39:49 +00:00
Dries Buytaert 9252be8bc0 - Consistency glitch: 'operations' => 'Operations'. 2005-01-22 12:10:16 +00:00
Dries Buytaert a6e7e9c104 - Patch #15566 by drumm: must specify a userneme or password error happens when it shouldn't. 2005-01-14 15:15:19 +00:00
Steven Wittens 8655d4368a - Fixing a couple of watchdog() calls. 2005-01-09 12:58:53 +00:00
Dries Buytaert 64b100d19a - Patch #13260 by UnConeD: watchdog module improvements.
We added a 'severity' column to watchdog():
    watchdog($type, $message, $link) --> watchdog($type, $message, $severity, $link);

    * Specify a severity in case you are reporting a warning or error.
    * The $link-parameter is now the fourth parameter instead of the third.

  TODO: document this in the upgrade guide.
2005-01-09 09:22:40 +00:00
Dries Buytaert 0f91dce414 - Patch #15247 by Drumm: simplified the logout code. 2005-01-07 18:01:13 +00:00
Dries Buytaert 7f890fd1b1 - Patch #15184 by drumm: clean up user password mailing.
+ After mailing the password, set a message and go to the login form (was print a message as the entire page).
  + Provide feedback if neither field was filled in.
  + Make it a full menu callback instead of going through user_page().
  + Fixed some indentation.
  + Changed some double quotes to single quotes.
  + Made sure all if statements have {}.
2005-01-06 20:38:19 +00:00
Dries Buytaert 9f2952aa3f - Bug #14609: improved the status messages and avoid empty roles being saved. 2004-12-22 08:51:39 +00:00
Dries Buytaert 2b17b3a966 - 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.
2004-12-15 21:19:42 +00:00
Dries Buytaert 6e3eb60aab - Removed some cruft: left-over xxx_help_page() functions. 2004-12-11 14:13:24 +00:00
Dries Buytaert 5520513879 - Modified patch by Goba: don't save user roles in the serialized data field of the user table. 2004-12-08 19:41:16 +00:00
Dries Buytaert 1365740f6e - Patch #14006 by Neil:
* user/view/$n has been replaced with user/$n.
   * More blank lines in the right places.
   * Prevent unwanted case fallthrough.
2004-12-07 07:24:46 +00:00
Dries Buytaert 95610bdd6c - Patch #13647 by Goba:
1. Fixed broken watchdog calls: two watchdog calls omitted the type parameter, and thus injected logs into the type field, instead of the message field.
   2. Removed t() functions from user contributed content.
2004-11-29 17:52:35 +00:00
Dries Buytaert 29337ad8bb - Patch #13581 by Steven: Db_query() allows a variable amount of parameters so you can pass the query arguments in. There is however an alternative syntax: instead of passing the query arguments as function arguments, you can also pass a single array with the query arguments in it. For example the following two statements are equivalent:
db_query($query, $a, $b, $c);
db_query($query, array($a, $b, $c));

This usage is particularly interesting when the query is constructed dynamically, and the amount of arguments to pass varies. In that case we use the second method to avoid using call_user_func_array(). This behaviour is not documented explicitly, but it is used in several places.

However, db_query_range() and pager_query() do not support this syntax properly, which means there are several pieces of code which still revert to the ugly call_user_func_array() call.

This patch updates db_query_range() and pager_query() so they support the array-passing method. I also added documentation about this method to each of the db functions.

I also cleaned up the code for db_query (it was weird and hard to understand) and moved db_query() and db_queryd() from database.xxxxx.inc to database.inc: it was the same between both mysql and pgsql, as it doesn't do anything database specific. It just prefixes the tables and inserts the arguments. The actual db query is performed in _db_query(), which is still in database.xxxxx.inc.

Finally, I updated several places with the new syntax, and the code is a lot cleaner. For example:
- array_unshift($params, "SELECT u.* FROM {users} u WHERE $query u.status < 3");
- $params[] = 0;
- $params[] = 1;
- $result = call_user_func_array('db_query_range', $params);
+ $result = db_query_range("SELECT u.* FROM {users} u WHERE $query u.status < 3", $params, 0, 1);

and

- return call_user_func_array('db_query_range', array_merge(array($query), $args, array((int)$pager_from_array[$element], (int)$limit)));
+ return db_query_range($query, $args, (int)$pager_from_array[$element], (int)$limit);

I've tested it on mysql. I didn't alter the actual db behaviour, so pgsql should be okay too.

This patch is important because many people avoid the call_user_func_array() method and put data directly into the db query.  This is very, very bad because the database prefix will be applied to it, and strip out braces. It's also generally bad form as you have to call check_query() yourself.  With the new, documented syntax, there is no more excuse to put data directly in the query.
2004-11-29 13:13:29 +00:00
Dries Buytaert 9574766ad8 - Patch by Stefan: wrapped the help texts in <p></p> tags. Helps improve consistency. 2004-11-23 22:20:41 +00:00
Dries Buytaert e19a3cf42d - Patch #12363: fixed glitch in user_access() as pointed out by TDobes. 2004-11-23 21:52:13 +00:00
Dries Buytaert fa97839088 - 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."
2004-11-21 08:25:17 +00:00
Dries Buytaert 9979aceab0 - Patch #12783 by Stefan: various small consistency/usability improvements. 2004-11-15 11:16:39 +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 a16be3495e - Patch #12658 by menesis: when an administrator adds a user, the 'authenticated user' role was not assigned to the new user. 2004-11-07 07:54:35 +00:00
Dries Buytaert b63d529a15 - Patch #12515 by Goba: fixed problem with cookies not being set properly, causing users getting logged out. 2004-11-03 22:39:55 +00:00
Steven Wittens f69437dead #12363: Bug in user_access() with uid 1 and $account parameter. 2004-11-02 12:20:59 +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 10f329c057 - Patch #11728 by Uwe Hermann: fixed some typos in the code comments, Doxygen documentation and screen output.
Uwe: I dropped the 'iff' chunks as 'iff' stands for 'if and only if'.
2004-10-19 18:02:31 +00:00
Dries Buytaert 07cdcb439b - Patch by James: made the blogapi module work again. 2004-10-18 18:29:15 +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
Dries Buytaert 5a2e0d0377 - Patch #11642 by Steven: when editing a user as an admin, you can choose the user's roles through form checkboxes. If the form validation fails and the form is redisplayed, the roles are lost. This is because the format for $user->roles is different from what form_checkboxes uses. 2004-10-16 16:48:04 +00:00