Commit Graph

346 Commits (bfb535f63e52283c05c88f4414e1ae2a5271cecd)

Author SHA1 Message Date
Dries Buytaert 15ff8c8e32 - Patch #46827 by wulff: fixed incorrect links. 2006-01-29 07:50:45 +00:00
Dries Buytaert 30d59fd52c - Patch #46400 by m3avrck: clean up book navigation markup + UI improvements. (Hint: the forum module has previous and next links too.) 2006-01-27 18:57:13 +00:00
Dries Buytaert 3c6066cffa - Patch #45706 by markus: keep up with CSS improvements. 2006-01-24 08:22:12 +00:00
Dries Buytaert 4267ab5ea9 - Patch #45706 by markus: keeping up with CSS improvements. 2006-01-22 07:32:55 +00:00
Dries Buytaert 8c02d4ec93 - Patch #45530 by Morbus: filter_form shouldn't default to #weight 0
When a form element doesn't specify a #weight, it is assumed internally as #weight 0. However, to ensure that our form elements display visually *as they were defined in the array* we, in form_builder, count the number of elements, divide by 1000, and set that as the weight:

# Assign a decimal placeholder weight to preserve original array order
if (!isset($form[$key]['#weight'])) {
  $form[$key]['#weight'] = $count/1000;
}

The above code will set the #weights of elements that have not defined a weight to something like 0 (first element in array definition), 0.001, 0.002, and so on. However, anytime a form element *explicitly* defines a #weight of 0, that #weight is kept at exactly 0, which would cause that form element to appear BEFORE the elements that didn't have a #weight defined (and thus received a #weight such as 0.002).

Consider the following pseudo example:

$form['game_title'] = array(
    '#type' => 'textfield',
    ...
    );
$form['game_description'] = array(
    '#type' => 'textarea',
    ...
    );
$form['game_format'] = filter_form(variable_get('game_format', NULL));
return $form;

Here, we're not definiing weights on our two textfields. We then add an filter_form. The second parameter of the filter_form is $weight, which defaults to 0. After this $form hits form_builder, we have weights 0 (game_title), 0.001 (game_description), and 0 (filter_form) respectively. This is then sorted by weight, which causes filter_form (the third element in the array) to appear BEFORE game_description (0 is lighter than 0.001).

The short lesson is: explicitly defining #weight 0 for a form element is probably a bad idea. This patch changes the default #weight of filter_form to NULL, instead of 0, and also removes any other explicit setting of #weight to 0 in core.
2006-01-20 09:04:34 +00:00
Dries Buytaert e84a98a22b - Patch #45349 by Morbus Iff: input filters aren't sorting correctly infForms API. 2006-01-19 08:54:41 +00:00
Dries Buytaert 52507806eb - Patch #45301 by Morbus: corrected the weight of form item titles of nodes. 2006-01-18 19:29:17 +00:00
Dries Buytaert 4e35060451 - Patch 42591 by Simon/me: fixed problem with deleting forum and book revisions. 2005-12-31 13:04:40 +00:00
Dries Buytaert 922a46d281 - Patch #34920 by Morbus/webchick/tangent: fixed order of form fields. 2005-12-15 16:24:40 +00:00
Dries Buytaert c4c5ce122d - Patch #31323 by Gerhard: delete extra data when a revision is deleted. 2005-12-05 16:07:18 +00:00
Dries Buytaert 28fdb3975e - Patch #39778 by chx: obliterate nodeapi op form in favor of the forms API's way of doing things. Tested with help from webchick. 2005-12-05 09:11:33 +00:00
Dries Buytaert 26bd449860 - Patch #39576 by chx: rename '_execute' to '_submit' and '#execute' to '#submit'. 2005-12-02 15:21:01 +00:00
Dries Buytaert 17ec644763 - Patch #1482 by djun: we're moving the DocBook output to a contributed module. It's not a core feature. 2005-11-30 13:16:53 +00:00
Dries Buytaert f5d3fa1008 - Patch #38296 by Tobias Maier: fixed bug with book links. 2005-11-24 19:24:38 +00:00
Dries Buytaert d4692d569c - Patch #35644 by webchick: fixed the sizes of the textareas on the node edit forms. 2005-11-23 16:18:28 +00:00
Dries Buytaert dba3e800cd - Patch #38611 by Neil: redo book administration.
The book module's current administration is actually a patchwork of one form per book page crammed into a table with another form at the bottom. This simply didn't work.
2005-11-23 10:22:41 +00:00
Dries Buytaert cba99db42b - Patch #38296 by Ber: generate rel-tags for book pages. Makes it easier to browse in some browsers. 2005-11-22 15:11:40 +00:00
Dries Buytaert aeed4cd8e4 - Patch #35644 by webchick: forms API simplificiations. 2005-11-12 11:26:16 +00:00
Steven Wittens 85492ae9a5 #36791: node_validate was called twice 2005-11-12 02:54:13 +00:00
Dries Buytaert a8b218827a - Patch #26139 by webchick / Kieran / documentation team: improved admin help of core modules! / 2005-11-01 10:17:34 +00:00
Dries Buytaert ef7d2c8a9f - Patch #34920 by tangent: reorganized the node submission form a bit. 2005-10-28 14:04:20 +00:00
Dries Buytaert cc9a372eae - Patch #34932 by tangent: fixed the placement of the 'log'-textarea on book preview pages. 2005-10-24 19:03:09 +00:00
Dries Buytaert c47d2fcb46 - Patch #33220 by Tobias: improved themeability of book module. 2005-10-23 18:08:06 +00:00
Dries Buytaert 75fe6b6c0a - Patch #33752 by chx, adrian, et al: another batch of form API changes/fixes. 2005-10-11 19:44:35 +00:00
Dries Buytaert 6f30f02c16 - Patch #27999 by Tobias: made book export functionality configurable. 2005-10-08 14:48:33 +00:00
Dries Buytaert a1ae4da70b - Removing tabs and trailing whitespaces. 2005-10-07 06:51:43 +00:00
Dries Buytaert 7e1527ee61 - Patch #29465: new form API by Adrian et al.
TODO:
  + The contact.module was broken; a new patch for contact.module is needed.
  + Documentation is needed.
  + The most important modules need to be updated ASAP.
2005-10-07 06:11:12 +00:00
Dries Buytaert 7b5b460534 Improved error-handling of book module. 2005-10-06 09:17:17 +00:00
Dries Buytaert f8e2be5fe7 - Patch #32584 by Gerhard: removed reference to node_revision_load() and fixed
input validation error..
2005-09-29 21:56:12 +00:00
Dries Buytaert 61740bd8ee - Patch #10056: allow the node title forms to be customized. 2005-09-23 08:47:13 +00:00
Dries Buytaert fe5f70b61b - Patch #31496 by Goba: added missing $node object in book export. 2005-09-18 11:26:17 +00:00
Dries Buytaert 3be71ac514 - Patch #30308 by gordon: fixed broken SQL query. 2005-09-06 18:55:41 +00:00
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