Commit Graph

2313 Commits (55df38710f07a7183e275a7bdd3258be0e5eb8ab)

Author SHA1 Message Date
Dries Buytaert 55df38710f - Patch #13786 by drumm: fixed handling of HTTP 301 response codes. 2004-12-02 18:37:04 +00:00
Steven Wittens 925bd41585 Search: wrong parameter order on search_wipe(). 2004-12-02 06:45:18 +00:00
Steven Wittens 2afd987398 Search: indexing should invoke nodeapi to catch all user-visible data (e.g. file attachment names). 2004-12-02 06:44:55 +00:00
Dries Buytaert aa1413d82e - Fixed #13643: increased the maxlength of the 'path to custom logo'-setting. 2004-11-30 18:40:24 +00:00
Dries Buytaert 8f049a4e75 - Modified patch #6475 by Killes: sites -> drupalsites -> drupal-sites 2004-11-30 18:25:39 +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 e35137a5ad - Patch #12555 by svemir: fixed problem with the 'Preview comment' button not being present when previews are optional. 2004-11-29 12:59:21 +00:00
Dries Buytaert e7ce1e3ccb - Patch #11977 by matteo: added extra DISTINCT()s to two SQL queries to make them work with node-level permissions. 2004-11-29 12:52:44 +00:00
Dries Buytaert b83b34018f - Patch #10697 by matteo: avoid that administrators can create nodes with the wrong node type. 2004-11-29 12:49:17 +00:00
Dries Buytaert d8113fda7e - Small code improvements. 2004-11-29 09:31:28 +00:00
Dries Buytaert 254233da61 - Fixed typo and reworded the filter. 2004-11-28 14:15:12 +00:00
Dries Buytaert 167c59e4da - Beautified the contents of the table.
- Removed some dead code.
2004-11-28 13:55:17 +00:00
Dries Buytaert a9ae831493 - Made it possible to sort the referrers by last visit. 2004-11-28 13:46:26 +00:00
Dries Buytaert 3981e571f9 - Fixed typo. 2004-11-28 13:31:51 +00:00
Dries Buytaert 70fcf51e84 - Refactored the statistics and watchdog module (views). The most important
changes are:

  1. Simplified the statistics pages: there are less pages and on the
     remaining pages there is a lot less visual clutter (less columns and
     better presentation).

  2. Reorganized the 'administer - logs' menu: flattened the menu structure
     and removed a number of links.

  3. Improved performance.  Most statistics pages used about 160 slow SQL
     queries which made the statistics pages fairly unusable on my system.
     The new pages use at least 10 times less SQL queries and render much
     faster.  They are actually usable.

  4. There is now a 'track'-tab on node pages, and a second subtrab on the
     user accounts 'track'-tab for people with the 'access statistics'
     permission.  They can be used to resp. track the node and the user.
     This makes the statistics more accessible.

  5. Changed the way watchdog messages are filtered.  This makes it easier
     to introduce new watchdog types.

  6. Reworked the statistics module's permissions.

  7. Less code: 223 insertions(+), 343 deletions(-).

  8. Fixed several glitches: for example, the statistics pages sorted the
     'Name' column by user ID instead of by name.  Unfortunately, it is
     too difficult to backport these to DRUPAL-4-5.

  TODO:

  1. Review the statistics modules help pages.

  2. Help fine-tune the interfaces/views.

  NOTES:

  1. You'll want to run update.php.
2004-11-28 12:28:35 +00:00
Dries Buytaert e1cf88e7f8 - Modified patch #11840 by Stefan: added conctext-sensitive help text to the 'revision'-page. 2004-11-27 10:02:06 +00:00
Dries Buytaert b8a556b81b - Bug 13503: updating the locale settings might impact the interface (eg. menu's) so we have to flush the cache. 2004-11-27 09:52:57 +00:00
Dries Buytaert 8b2f6699e4 - Patch #10693 by Ax: fixed broken (external) link in the taxonomy module's help. 2004-11-27 09:30:32 +00:00
Dries Buytaert 0c6a18cb44 - Patch #5942 by TDobes: fixed theme stuff after multi-site configuration patch. 2004-11-25 06:17:03 +00:00
Dries Buytaert 4726c93156 - Patch #13443 by Moshe: got rid of the semi-implemented 'page link' feature. All themes currently support primary and secondary links so page links are now deprecated. Check your contributed modules and update them accordingly. 2004-11-24 22:56:21 +00:00
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 062a8abdea - Patch #10990 by TDobes: adds a "create new blog entry" link at the top of each user's own blog page, similar to the "post new forum topic" link displayed at the top of forum pages. This adds consistency as well as convenience for users. 2004-11-24 20:06:10 +00:00
Dries Buytaert 30110a8770 - Patch #6166 by Moshe: node preview should not display links. Push the links to the theme instead of the theme having to pull them in using node_link().
TODO:
    1. Update theme upgrade instructions in the handbook: node_link() is gone.
    2. Remove page_link() just like we removed node_link().
2004-11-23 23:11:59 +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 b442fad027 - Patch #13263 and #13265 by arnab: added word-based truncation and made the comment module use it to extract subjects. 2004-11-21 20:17:44 +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
Steven Wittens dc32e54f31 Search.module:
- Caching index statistics
- Minor code cleanup
2004-11-18 21:28:34 +00:00
Steven Wittens 90e67a3acb Search indexing bug: last updated timestamp needs to take last comment timestamp into account. 2004-11-18 21:16:30 +00:00
Dries Buytaert 38c91a8d95 - Patch #8506 by Gerhard: added basic node_load() caching. 2004-11-17 22:14:43 +00:00
Dries Buytaert 9bf33e5ac8 - Added generic flood control mechanism to throttle certain operations per hostname (eg. posting comments, requesting passwords, sending e-mails). See flood_register_event() and flood_is_allowed() for details. 2004-11-15 21:17:25 +00:00
Dries Buytaert f67c046d40 - Modified patch #8552 by Gerhard: added 'add child page' link to book pages you can edit. 2004-11-15 12:49:59 +00:00
Dries Buytaert f37a65cab9 - Patch #12353 by Stefan: usability improvement: don't show 'throttle fields' unless the throttle module is enabled. 2004-11-15 11:26:04 +00:00
Dries Buytaert 9979aceab0 - Patch #12783 by Stefan: various small consistency/usability improvements. 2004-11-15 11:16:39 +00:00
Dries Buytaert 52d9dd1b01 - Patch #11977 by matteo: taxonomy_term_count() did not take node-level permissions into account and could return an incorrect number. 2004-11-15 10:00:50 +00:00
Dries Buytaert 40f6197c5b - Patch #11940 by kps: if the user is not allowed to view a newly submitted node, redirect him to the main page. 2004-11-15 09:55:28 +00:00
Dries Buytaert ef95773b1c - Modified patch by Jeremy: throttle module improvements and fixes:
+ throttle module: flush cache when the throttle enables/disables
   + throttle module: prevent throttle being enabled by 0 users or guests when disabled
   + system module: remove requirement for statistics.module
   + block module: update help text to reflect access log is no longer required
   + statistics module: throttle is now enabled/disabled, not using levels 0-5
2004-11-14 20:20:09 +00:00
Dries Buytaert 05676eda20 - Patch #12713 by Goba: remove useless t() function from help module. 2004-11-08 22:27:34 +00:00
Dries Buytaert 3769665b33 - Refactored the throttle module. Patch by Jeremy and me.
* There are only two throttle levels instead of 5, namely 'enabled' and 'disabled'.  This makes it a _lot_ easier to predict when the throttle will kick in.  However, if you maintain a module that is throttle-aware, it needs to be updated!

  * The throttle mechanism now uses the current number of anonymous users or the current number of authenticated users to kick in.  This is a _lot_ more intuitive than the old throttle mechanism.

  * The throttle block has been removed -- you can now use the "Who's online" block to determine the good throttle settings.

  * Most of the documentation has been removed because it was deprecated.

  * It's less code!
2004-11-07 22:47:00 +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 7a5884cd74 - Patch #11427: added 'edit own forum topics' permission. 2004-11-07 19:28:24 +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 1486dc8f92 - Make Drupal ping Yahoo.com. 2004-11-06 12:56:05 +00:00
Dries Buytaert c214cee319 - On popular demand, patch #10178 by jhriggs: made it possible to expand menu items. 2004-11-06 12:11:02 +00:00
Dries Buytaert 6f7aa2a095 - Patch #11871 by killes: forum topics could be displayed multiple times when node-level permission were used. 2004-11-06 11:59:48 +00:00
Dries Buytaert 1821eb13e6 - Removed some dead code. 2004-11-06 11:54:09 +00:00
Dries Buytaert bb3df8a1a9 - Patch #10632 by Gerhard: the book permissions in today's cvs are not consistent with the rest of Drupal. We have a "maintain books" and a "edit own book pages" permission. All other modules have a "create foo" permission. Thus the existing "maintain books" permission should be renamed to "create book pages" and a new "maintain books" permission should be introduced that allows editors to update book pages they haven't created themselves even without having "administer nodes" permission. 2004-11-04 22:31:46 +00:00
Dries Buytaert b3e3f8ae37 - Updated forum_block() to pass comment_count's to node_title_list(). This eliminates up to 10 SQL queries (sometimes less) for each non-cached page view on drupal.org. Derived from ccourtne's patch. 2004-11-04 21:05:06 +00:00
Dries Buytaert 14353d18ad - Slightly modified the API of node_title_list(): it will no longer call comment_num_all() for each node. Instead, it checks for the availability of the node_comment field, available through the node_comment_statistics table. If updated the Doxygen comments accordingly.
People were using node_title_list() without realizing it would do numereous database queries.  This change greatly reduces the number of database queries required to render the node statistics block as well as to render the forum block (coming up next).

  If your module is using node_title_list() and you want the number of comments to be shown as title attributes, chances are you have to update your SQL query to join node_comment_statistics.
2004-11-04 21:02:30 +00:00