1. 17 Jan, 2005 2 commits
  2. 16 Jan, 2005 1 commit
    • Dries's avatar
      · 971a0e24
      Dries authored
      - Patch #14731 by chx: made it possible to rewrite node queries.
      971a0e24
  3. 14 Jan, 2005 1 commit
  4. 10 Jan, 2005 3 commits
    • Dries's avatar
      · e7777956
      Dries authored
      - Watchdog improvement: added a 'view' link for 'access denied' messages.
      e7777956
    • Dries's avatar
      · f4132656
      Dries authored
      - Patch #15399 by adschar: fixed PHP5 error when a new session is inserted into the session table. (Better fix.)
      f4132656
    • Dries's avatar
      · 2e5f82c1
      Dries authored
      - Patch #15399 by adschar: fixed PHP5 error when a new session is inserted into the session table.
      2e5f82c1
  5. 09 Jan, 2005 2 commits
  6. 07 Jan, 2005 1 commit
  7. 30 Dec, 2004 1 commit
    • Dries's avatar
      · 828be2ad
      Dries authored
      - Patch #13020 by chx: let Drupal handle multiple database layers.
      
      - Removed the PEAR database backend.  It's no longer being used/maintained.
      828be2ad
  8. 29 Dec, 2004 1 commit
    • Dries's avatar
      · bc9aeff7
      Dries authored
      - Patch #14890: corrected the documentation of conf_init().
      bc9aeff7
  9. 28 Dec, 2004 1 commit
  10. 25 Dec, 2004 1 commit
  11. 15 Dec, 2004 1 commit
    • Dries's avatar
      - Patch #13907 by Neil: less ways to set the page title. · 2b17b3a9
      Dries authored
         * 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.
      2b17b3a9
  12. 07 Dec, 2004 1 commit
    • Dries's avatar
      · 60352821
      Dries authored
      - Refactored the queue module: removed the queue module's field from the node table.  With help from Gerhard.
      
      - Slight addition to INSTALL.txt with regard to PHP versions.
      
      - Updated/reworded some node type descriptions as per Boris' suggestions.
      
      - Adding missing {} around a table name in update.php.
      60352821
  13. 06 Dec, 2004 1 commit
  14. 04 Dec, 2004 1 commit
    • Dries's avatar
      · cbf3f21e
      Dries authored
      - Patch by Steven: fixed bug in pager_query().
      cbf3f21e
  15. 03 Dec, 2004 1 commit
  16. 02 Dec, 2004 1 commit
  17. 01 Dec, 2004 2 commits
  18. 29 Nov, 2004 2 commits
    • Dries's avatar
      - Patch #13647 by Goba: · 95610bdd
      Dries authored
         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.
      95610bdd
    • Dries's avatar
      - Patch #13581 by Steven: Db_query() allows a variable amount of parameters so... · 29337ad8
      Dries authored
      - 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.
      29337ad8
  19. 28 Nov, 2004 2 commits
    • Dries's avatar
      - Refactored the statistics and watchdog module (views). The most important · 70fcf51e
      Dries authored
        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.
      70fcf51e
    • Dries's avatar
      · 76eace31
      Dries authored
      - Usability improvement: only display subtabs if there is more than one subtab.  If there is only one, make sure it is the set to be the default subtab and all is well.
      76eace31
  20. 25 Nov, 2004 1 commit
    • Dries's avatar
      - Patch #13405 by Moshe: · 5d0dfeb5
      Dries authored
         + Make bootstrap functionality work with HEAD.
         + Move functions into bootstrap.inc so that statistics_exit() works for cached pages.  (Does this close any issues?)
      5d0dfeb5
  21. 24 Nov, 2004 2 commits
  22. 23 Nov, 2004 1 commit
  23. 21 Nov, 2004 2 commits
    • Dries's avatar
      - Patch #13263 and #13265 by arnab: added word-based truncation and made the... · b442fad0
      Dries authored
      - Patch #13263 and #13265 by arnab: added word-based truncation and made the comment module use it to extract subjects.
      b442fad0
    • Dries's avatar
      · fa978390
      Dries authored
      - 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."
      fa978390
  24. 18 Nov, 2004 1 commit
  25. 15 Nov, 2004 5 commits
    • Dries's avatar
      · 9bf33e5a
      Dries authored
      - 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.
      9bf33e5a
    • Dries's avatar
      · 918d33f4
      Dries authored
      - Modified patch #7235: do a better job checking the OS and acting upon it.
      918d33f4
    • Dries's avatar
      - Removed some cruft. · c0ea0481
      Dries authored
      c0ea0481
    • Dries's avatar
      - Patch #12795 by thorne: added documentation for overriding variables from · a03579fc
      Dries authored
        the configuration file.
      a03579fc
    • Dries's avatar
      · c13abe16
      Dries authored
      - Patch #12885 by Ber: improved the Doxygen documentation of drupal_set_html_head().
      c13abe16
  26. 08 Nov, 2004 1 commit
  27. 07 Nov, 2004 1 commit
    • Dries's avatar
      - Refactored the throttle module. Patch by Jeremy and me. · 3769665b
      Dries authored
        * 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!
      3769665b