1. 27 Jan, 2005 2 commits
  2. 06 Dec, 2004 1 commit
  3. 04 Dec, 2004 1 commit
    • Dries's avatar
      · cbf3f21e
      Dries authored
      - Patch by Steven: fixed bug in pager_query().
      cbf3f21e
  4. 02 Dec, 2004 1 commit
  5. 29 Nov, 2004 1 commit
    • 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
  6. 31 Oct, 2004 1 commit
  7. 09 Sep, 2004 1 commit
    • Dries's avatar
      · b84b6e42
      Dries authored
      - Patch #10663 by JonBob: documentation improvements: fixed some typos and improved consistency to the use of Doxygen/api.module commands in the comments.
      b84b6e42
  8. 12 Aug, 2004 1 commit
  9. 25 Jul, 2004 1 commit
    • Dries's avatar
      · 702a0576
      Dries authored
      - Patch #9478 by JonBob: allow printf-style arguments in pager_query.
      
        Currently pager_query() is the black sheep of the database query family, because it does not allow for printf-style arguments to be inserted in the query. This is a problem because it introduces developer confusion when moving from an unpaged query to a paged one, and it encourages substitution of variables directly into the query, which can bypass our check_query() security feature.
      
        This patch adds this ability to pager_query(). The change is backwards-compatible, but a couple calls to the function in core have been changed to use the new capability.
      702a0576
  10. 22 Jul, 2004 1 commit
  11. 02 Jul, 2004 1 commit
    • Dries's avatar
      · 9986cb36
      Dries authored
      - Patch #8973 by JonBob: Drupal contains many undefined variables and array indices, which makes PHP throw a lot of warnings when the reporting level is set to E_ALL. Things run fine with these warnings, but as a matter of code style if nothing else we should probably strive to avoid them. The attached fixes most of the more egregious offenders (about 95% of the warnings when I load /node on my test site).
      9986cb36
  12. 22 Jun, 2004 1 commit
  13. 21 Jun, 2004 1 commit
  14. 19 Jun, 2004 1 commit
    • Dries's avatar
      · cbc230a3
      Dries authored
      - Patch #7696 by TDobes: renamed 'static' to 'sticky' which is a more
        logical name.  Requires a database upgrade.
      cbc230a3
  15. 15 Apr, 2004 1 commit
  16. 15 Feb, 2004 1 commit
    • Dries's avatar
      · 74229399
      Dries authored
      - Patch 5834 by Jeremy: made multiple pagers on one page work.
      74229399
  17. 06 Jan, 2004 1 commit
  18. 22 Dec, 2003 1 commit
    • Dries's avatar
      · 7883ea6e
      Dries authored
      - Accessibility improvement: changed a <b>-tag to a <strong>-tag, used to
        indicated the current page.
      7883ea6e
  19. 08 Dec, 2003 2 commits
    • Dries's avatar
      - Improvements by Goba: · 712a30b5
      Dries authored
        + 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.
      712a30b5
    • Dries's avatar
      · 3904790e
      Dries authored
      - Tidied up the DoxyGen comments.  Patch by Kjartan.
      3904790e
  20. 24 Nov, 2003 1 commit
    • Dries's avatar
      Patch by Ax to fixe and improve to the core doxygen PHPdoc: · 06045ff7
      Dries authored
        * fixes all doxygen warnings [#]_ in the current code base
          + changes @param style from phpDocumentor (@param type $var desc) to doxygen (@param $var desc)
          + documents all undocumented parameters
          + escapes / fixes html warnings
          + fixes @defgroup in theme.inc
        * adds more groupings [#]_
          + drupal_{set|get}_title, drupal_{set|get}_breadcrumb
          + pager.inc: pager_api (pager_query(), pager_display()), pager pieces
        * adds a new group "themeable" which contains all themeable functions.
      06045ff7
  21. 09 Nov, 2003 1 commit
    • Dries's avatar
      · 951b553a
      Dries authored
      - Committed stage 2 of the theme system improvements!  Patch by CodeMonkeyX.
      951b553a
  22. 04 Jun, 2003 1 commit
    • Dries's avatar
      · 355d25e7
      Dries authored
      - 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.
      355d25e7
  23. 03 Jun, 2003 1 commit
    • Dries's avatar
      - Bugfix: made request_uri() rewrite ( and ) with their entity equivalents · 05288ac4
      Dries authored
      to avoid XSS attacks!  Patch by Al, Moshe, Marco, Kjartan and me.
      
      - Bugfix: the admin module does now import drupal.css prior to admin.css.
      Patch by me.
      
      - Bugfix: the admin module was still emitting a <base href=""> tag.  I
      removed this as it is been taken care of by theme_head();  Patch by me.
      
      - Bugfix: made the tracker module's pager only consider published pages.
      Patch by Moshe.
      
      - Bugfix: cured some typos in the comment module's help function.  Patch by
      Marco.
      
      - Bugfix: fixed a typo in the pager_display() that caused optional
      attributes to be discarded.
      
      - Bugfix: made the Xtemplate emit empty boxes like any other theme does.
      Patch by Al.
      
      - Bugfix: fixed broken link on the statistics module's log page.
      Reported by Kjartan.
      
      - CSS improvements: made the HTML output emitted by the tracker module
      look nicer.  Patch by Moshe and Al.
      
      - CSS improvements: added CSS classes for form elements.  Patch by Al.
      
      - CSS improvements: added a vertical gap between the last form item and the
      submit button.  Patch by Al.  Note that Opera 6 is not picking up this
      CSS but apparently others browsers such as Konqueror do.
      
      - Xtemplate improvements: changed the color of the selected day in the
      archive module's calendar.  Patch by Al.
      
      - Usability improvements: made the "birthday" field of the profile module
      look nicer.  Patch by Al.
      
      ------
      
      - TODO: it might be a good idea to emit the following meta tag in the
      theme_head() function:
      
      <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
      
      Currently, some themes (and modules!) emit this while others don't.  This
      would also make it possible to change the charset site-wide.
      
      - TODO: now we added support for td.dark and td.light to drupal.css, maybe
      it can be removed from admin.css as well as xtemplate.css?
      05288ac4
  24. 23 May, 2003 1 commit
  25. 13 May, 2003 1 commit
    • Dries's avatar
      · c2d2fb73
      Dries authored
      - 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.
      c2d2fb73
  26. 16 Mar, 2003 1 commit
    • Dries's avatar
      · 170b674a
      Dries authored
      - 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.
      170b674a
  27. 12 Mar, 2003 1 commit
    • Dries's avatar
      - Patch by Kjartan: · 53321baf
      Dries authored
         + Pager is not generated when there are less results than the limit.
         + Fixes ugly blank rows in administration pages when there is just one
           page.
      53321baf
  28. 11 Feb, 2003 1 commit
  29. 21 Jan, 2003 1 commit
    • Dries's avatar
      · 4dac201e
      Dries authored
      - Patch by Ulf: XHTML-ified the code.
      4dac201e
  30. 20 Jan, 2003 1 commit
    • Dries's avatar
      · 389dc008
      Dries authored
      - Replaced "&" by "&amp;".  Patch by Ulf.
      389dc008
  31. 15 Jan, 2003 1 commit
    • Dries's avatar
      Patch by Marco: · f6da12ca
      Dries authored
      - forum: fixed link to new topic
      - forum: new topic shows default forum correctly
      - forum: first_new is back; the anchor didn't consider multiple pages
      - forum: use standard pager, needed some changes/fixes to pager.inc
      - forum: some cleanup
      - forum: taxonomy hook
      - renamed first_new to simply new
      - added an optional parameter to pager_query for the count query
      - used the optional count param for paging forum topics
      - internal change: moving a topic doesn't duplicate the node anymore but just
        changes the forum (term); no change in functionality, and shadow still
        works (suggested by Dries).  This probably also made some queries somewhat
        lighter.
      - bug fixed: anonymous users always saw "n (n new)" in the replies column
      - updated pager help and moved from _help to phpdoc
      f6da12ca
  32. 09 Jan, 2003 1 commit
    • Dries's avatar
      · 6744e340
      Dries authored
      - Fixed the pager.  It might not be 100% correct, but it will work in 95%
        of the cases.
      6744e340
  33. 06 Jan, 2003 1 commit
    • Dries's avatar
      · 89b2069e
      Dries authored
      - Clean URL patch.
      89b2069e
  34. 14 Dec, 2002 1 commit
    • Dries's avatar
      · 99d84c93
      Dries authored
      - Committed Marco's pager improvements.
      
      - Fixed another annoyance with editing content.
      99d84c93
  35. 26 Nov, 2002 1 commit
    • Dries's avatar
      · 51778ef1
      Dries authored
      - Applied Ax's pager patch: includes documentation (rewrote it somewhat) and two
        bugfixes; one that makes taxanomy based paging work (eg. index.php?and=2,3)
        and one that kills a warning when the query returns no records.
      51778ef1
  36. 18 Nov, 2002 1 commit
    • Dries's avatar
      · 36cb350e
      Dries authored
      - Don't display "1" when there is only one page.
      36cb350e
  37. 09 Nov, 2002 1 commit
    • Dries's avatar
      · 562df8fe
      Dries authored
      * Added Jeremy's pager:
      
       "This is a simple, generic pager for Drupal-CVS.  It is designed to be
        easily themeable and expandable.  The code is highly-commented to
        enhance readability."
      
       "Pagers are constructed by combining the provided pieces (all of which
        can be easily modified to display the text or image you prefer) into
        your custom pager."
      
      * Statistics module fixes by Jeremy:
      
       - removed superfluous check for existence of watchdog()
       - saving changes in admin page displays status and returns same page
       - no longer return 1971/01/01 in "view statistics" table
       - switched from "!=" to "<>" in SQL queries for ANSI-SQL compliance
       - switched from "MAX(timestamp) as timestamp" to "MAX(timestamp) as
         max_timestamp" moving towards ANSI-SQL compliance.
      
      * Added a "theme_item_list" function to format itemized lists.  Also
        changed a couple of modules to take advantage of it.  Makes for a
        more consistent UI.
      562df8fe