Commit Graph

314 Commits (74e7bcdf7f2a6f088fa2ef76f8425b8379a9f7c5)

Author SHA1 Message Date
Dries Buytaert d9d6a6e05c - Patch #7582 by Gerhard: improved node revisions!
All node revisions were stored in a serialized field in the node table and retrieved for _each_ page view although they are rarely needed. We created a separate revisions table which would be in principle identical to the node table, only that it could have several old copies of the same node.  This also allows us to revision-related information, and to provide log entries to non-book pages when a new revision is being created.

TODO:

1. Provide upgrade instructions for node module maintainers!
2. Upgrade modules that implement node types.
3. Provide an upgarde path for revisions.  Dependency on the upgrade system.
2005-08-30 15:22:29 +00:00
Dries Buytaert 246274eb16 - Renamed _node() to _node_info()! We reserve _node for _nodeapi. 2005-08-29 19:58:49 +00:00
Dries Buytaert c9fc300b1f - Patch #29785 by Chx: multiple node types were broken so we refactored
part of the node system!  If you have a module that implements node
  types, you'll have to udpate its CVS HEAD version.

  We replaced _node_name() and _node_types() by _node().  The new _node()
  hook let's you define one or more node types, including their names.
  The implementation of the _node() hook needs to:

   return array($type1 => array('name' => $name1, 'base' => $base1),
                $type2 => array('name' => $name2, 'base' => $base2));

  where $type is the node type, $name is the human readable name of the type
  and $base is used instead of <hook> for <hook>_load, <hook>_view, etc.

  For example, the story module's node hook looks like this:

    function story_node() {
      return array('story' => array('name' => t('story'), 'base' => 'story'));
    }

  The page module's node hook module like:

    function page_node() {
      return array('page' => array('name' => t('page'), 'base' => 'page'));
    }

  However, more complex node modules like the project module and the
  flexinode module can use the 'base' parameter to specify a different base.

  The project module implements two node types, proejcts and issues, so it
  can do:

    function project_node() {
      return array(
       array('project_project' => array('name' => t('project'), 'base' => 'project'),
       array('project_issue' => array('name' => t('issue'), 'base' => 'project_issue'));
    }

  In the flexinode module's case there can only one base ...

  This hook will simplify the CCK, and will make it easy (or easier) to merge
  the story and page module.

  In addition, node_list() became node_get_types().  In addition, we created
  the following functions: node_get_name($type) and node_get_base($type).
2005-08-28 15:29:34 +00:00
Dries Buytaert 7b8a409675 - Patch #29385 by chx: no ?> add end of files. 2005-08-25 21:14:17 +00:00
Dries Buytaert f99176c9a0 - Patch #25706 by Neil: book 'previous' link does not respect unpublished node setting 2005-07-29 07:13:25 +00:00
Steven Wittens 515f7b41f1 - #27707: Use local tasks for book administration 2005-07-29 03:49:16 +00:00
Steven Wittens 11a4aba9a6 - #26688: Add mbstring support to Drupal and clear up string handling fuzzies. 2005-07-25 20:40:35 +00:00
Steven Wittens a10ab3daa0 - #27108: Columns in ORDER BY clause must be SELECTed on (pgsql) 2005-07-25 09:31:37 +00:00
Dries Buytaert e0158075f6 - Patch #24805 by Ber: removed some dead code. 2005-07-18 09:57:48 +00:00
Dries Buytaert 160a1e0ef8 - Patch #25634 by chx: simplified node_load(). 2005-07-17 18:29:32 +00:00
Dries Buytaert f14cb1ab2b - Patch #25928 by Uwe: 'the the' -> 'the'. 2005-07-03 15:56:04 +00:00
Dries Buytaert 58aee8cdad - Patch #25603 by Stefan: made the sizes of forms consistent.
TODO: document the defaults in the PHPdoc comments.
2005-06-27 18:33:33 +00:00
Dries Buytaert ba233dd3b8 - Patch #25504 by kumo: fixed problem with the weights of book pages not being remembered. 2005-06-22 20:24:11 +00:00
Dries Buytaert c50316212b - Patch #1898 by Djun: more book module improvements including but not limited
to OPML export functionality, better code comments, better help texts, etc.
2005-06-07 19:20:20 +00:00
Steven Wittens 6ba82cc0c0 - book_render() was broken after a faulty commit. Adding back.
See:
http://cvs.drupal.org/viewcvs/drupal/drupal/modules/book.module?r1=1.294&r2=1.295
2005-06-07 08:30:16 +00:00
Dries Buytaert 78cb173247 - Modified version of patch #1482 by Djun:
This patch enables export of books as XML documents.

The XML is DocBook "at the level of structure", but
node contents are wrapped as CDATA, since we
can't be sure that the contents are valid XML.

Several other bugs/feature requests are also
addressed with this patch:

- Fixes bugs

http://drupal.org/node/1898
http://drupal.org/node/1482
http://drupal.org/node/8049
http://drupal.org/node/1899

Should go a long way towards implementing feature request
http://drupal.org/node/2062

It should also be easy to extend this to produce OPML,
for example.

- Adds about 170 lines, of which more than 100 are comments
- Added doxygen comments
- Made doxygen comment format consistent; fixed minor grammatical slips
- A proper Doctype and more informative HTML element is generated
for printer-friendly HTML output.
- Refactored book_print() to use book_recurse().
- Refactored book_recurse(). Applies 'visitor' callback functions to nodes
during weight/title order tree-traversal. The parameterized
visitor callbacks can be used to generate different kinds of output.
There are many other kinds of operations on books which can be implemented
by writing a pre-node/post-node pair of callback functions: word-count/
statistics gathering, comparison, copying, search and replace...
- Introduced book_export() which uses book_recurse() to generate
DocBook-like XML to export book contents in a structured form.
An md5 hash is computed for each node to help import code to
decide if a node needs to be updated or not.
2005-06-05 10:52:04 +00:00
Dries Buytaert 62427644eb - Patch #23320 by Chris Messina: made it easier to theme the printer-friendly book pages. 2005-05-21 09:59:15 +00:00
Dries Buytaert 30da942645 - Patch #22123 by Djun: fixed off by one error in printer-friendly book pages. 2005-05-06 08:43:21 +00:00
Dries Buytaert 2debcfb1ef - Patch #15595 by Stefan and Djun: improved status messages.
TODO: we should write down a couple guidelines for these document them in
        the PHPDoc code of drupal_set_message()!  .
2005-05-05 22:22:46 +00:00
Dries Buytaert df9f93f98a - Modified patch #21441 from puregin + RobinMonks: fixed some bugs surrounding the book administration and beautified some code making it more consistent with the rest of Drupal. :-) 2005-05-05 09:36:51 +00:00
Dries Buytaert bca14f8991 - Patch #21687 by faago: fixed boroken 'delete'-link on the book administration page. 2005-04-30 21:34:41 +00:00
Steven Wittens 3361d9e7e9 - #21195: book admin broken under php5 2005-04-24 20:57:38 +00:00
Dries Buytaert a76a1e1f3f - Patch 20910 by chx: centralize print theme page. 2005-04-24 16:34:36 +00:00
Dries Buytaert cb420f7121 - Work by chx and myself: added a site-wide contact form to the contact module. 2005-04-24 08:23:33 +00:00
Dries Buytaert 394fe19ac6 - Patch #20661 by rooey: fixed formatting of book navigation. Added missing '<div id=menu>'. 2005-04-17 16:03:50 +00:00
Dries Buytaert 293daa4820 - Patch #20451 by Moshe: some ancient code was assuming that all apges in a book are of type 'book'. 2005-04-13 18:50:57 +00:00
Dries Buytaert 398ed04670 - Patch #19960 by Gerhard: removed left-over DISTINCT. Spotted by BuddaBoy. 2005-04-04 21:32:21 +00:00
Steven Wittens be14203534 - #18817: Clean up plain-text checking (see drupal-devel!) 2005-03-31 09:25:33 +00:00
Dries Buytaert a7fa9552ca - Patch #19169 by TDobes: allow the book navigation to be themed. 2005-03-22 18:34:20 +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 de0a0b7a81 - Patch #16462 by Moshe: book pages slighty disobey the node_access system because they always return a value for book_access('update'). This simple patch causes us to use node_access when the user has a chance of being able to update the current page. 2005-02-06 09:37:10 +00:00
Dries Buytaert 9f77077584 - Fixed a misplaced bracket that slipped in due to the db/node_rewrite_sql_patch. 2005-01-30 08:53:05 +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
Dries Buytaert c8ef017446 - Patch #15948 by matteo: the book module should call the nodeapi hook when printing printer-friendly pages. 2005-01-23 22:35:41 +00:00
Dries Buytaert 630dcebf43 - Patch #15843 by Ber: in book-pages node forms we use a delta of fifteen (-15 to +15) but in the book-outline admin we dont dewfine this, resulting in a default delta of ten. This should be consistent and thus both 15. 2005-01-19 22:13:14 +00:00
Steven Wittens e7edb55d63 - The real code fixes ;) 2005-01-17 19:00:03 +00:00
Dries Buytaert 971a0e24aa - Patch #14731 by chx: made it possible to rewrite node queries. 2005-01-16 18:44:49 +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 046536f470 - Patch #12366 by mathias: fixed missing book edit tab. 2004-12-22 20:47:47 +00:00
Dries Buytaert 78c24e67c0 - Bugfix: the book module incorrectly assumed that there is an active revision if n.moderate = 0. We can (and need) to rewrite this when the revision changes hit core. In essence, we need an efficient query to retrieve the 'last puslished revision that is not in the moderation queue'. 2004-12-18 10:27:28 +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 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 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 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 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 9979aceab0 - Patch #12783 by Stefan: various small consistency/usability improvements. 2004-11-15 11:16:39 +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 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 f1a087e376 - Patch #11879 by Moshe: deprecated the _content hook.
TODO:
   + Update Doxygen hook list (if required).
   + Document this in the developer's upgrade section.
2004-10-23 17:18:23 +00:00