| 1 |
<?php |
<?php |
| 2 |
// $Id: book.module,v 1.519 2009/10/15 14:07:26 dries Exp $ |
// $Id: book.module,v 1.520 2009/10/23 22:24:12 webchick Exp $ |
| 3 |
|
|
| 4 |
/** |
/** |
| 5 |
* @file |
* @file |
| 63 |
/** |
/** |
| 64 |
* Inject links into $node as needed. |
* Inject links into $node as needed. |
| 65 |
*/ |
*/ |
| 66 |
function book_node_view_link($node, $build_mode) { |
function book_node_view_link(stdClass $node, $build_mode) { |
| 67 |
$links = array(); |
$links = array(); |
| 68 |
|
|
| 69 |
if (isset($node->book['depth'])) { |
if (isset($node->book['depth'])) { |
| 177 |
/** |
/** |
| 178 |
* Menu item access callback - determine if the outline tab is accessible. |
* Menu item access callback - determine if the outline tab is accessible. |
| 179 |
*/ |
*/ |
| 180 |
function _book_outline_access($node) { |
function _book_outline_access(stdClass $node) { |
| 181 |
return user_access('administer book outlines') && node_access('view', $node); |
return user_access('administer book outlines') && node_access('view', $node); |
| 182 |
} |
} |
| 183 |
|
|
| 184 |
/** |
/** |
| 185 |
* Menu item access callback - determine if the user can remove nodes from the outline. |
* Menu item access callback - determine if the user can remove nodes from the outline. |
| 186 |
*/ |
*/ |
| 187 |
function _book_outline_remove_access($node) { |
function _book_outline_remove_access(stdClass $node) { |
| 188 |
return isset($node->book) && ($node->book['bid'] != $node->nid) && _book_outline_access($node); |
return isset($node->book) && ($node->book['bid'] != $node->nid) && _book_outline_access($node); |
| 189 |
} |
} |
| 190 |
|
|
| 439 |
/** |
/** |
| 440 |
* Build the common elements of the book form for the node and outline forms. |
* Build the common elements of the book form for the node and outline forms. |
| 441 |
*/ |
*/ |
| 442 |
function _book_add_form_elements(&$form, $node) { |
function _book_add_form_elements(&$form, stdClass $node) { |
| 443 |
// Need this for AJAX. |
// Need this for AJAX. |
| 444 |
$form['#cache'] = TRUE; |
$form['#cache'] = TRUE; |
| 445 |
|
|
| 520 |
* Performs all additions and updates to the book outline through node addition, |
* Performs all additions and updates to the book outline through node addition, |
| 521 |
* node editing, node deletion, or the outline tab. |
* node editing, node deletion, or the outline tab. |
| 522 |
*/ |
*/ |
| 523 |
function _book_update_outline($node) { |
function _book_update_outline(stdClass $node) { |
| 524 |
if (empty($node->book['bid'])) { |
if (empty($node->book['bid'])) { |
| 525 |
return FALSE; |
return FALSE; |
| 526 |
} |
} |
| 736 |
/** |
/** |
| 737 |
* Implement hook_node_view(). |
* Implement hook_node_view(). |
| 738 |
*/ |
*/ |
| 739 |
function book_node_view($node, $build_mode) { |
function book_node_view(stdClass $node, $build_mode) { |
| 740 |
if ($build_mode == 'full') { |
if ($build_mode == 'full') { |
| 741 |
if (!empty($node->book['bid']) && empty($node->in_preview)) { |
if (!empty($node->book['bid']) && empty($node->in_preview)) { |
| 742 |
$node->content['book_navigation'] = array( |
$node->content['book_navigation'] = array( |
| 768 |
/** |
/** |
| 769 |
* Implement hook_node_presave(). |
* Implement hook_node_presave(). |
| 770 |
*/ |
*/ |
| 771 |
function book_node_presave($node) { |
function book_node_presave(stdClass $node) { |
| 772 |
// Always save a revision for non-administrators. |
// Always save a revision for non-administrators. |
| 773 |
if (!empty($node->book['bid']) && !user_access('administer nodes')) { |
if (!empty($node->book['bid']) && !user_access('administer nodes')) { |
| 774 |
$node->revision = 1; |
$node->revision = 1; |
| 786 |
/** |
/** |
| 787 |
* Implement hook_node_insert(). |
* Implement hook_node_insert(). |
| 788 |
*/ |
*/ |
| 789 |
function book_node_insert($node) { |
function book_node_insert(stdClass $node) { |
| 790 |
if (!empty($node->book['bid'])) { |
if (!empty($node->book['bid'])) { |
| 791 |
if ($node->book['bid'] == 'new') { |
if ($node->book['bid'] == 'new') { |
| 792 |
// New nodes that are their own book. |
// New nodes that are their own book. |
| 801 |
/** |
/** |
| 802 |
* Implement hook_node_update(). |
* Implement hook_node_update(). |
| 803 |
*/ |
*/ |
| 804 |
function book_node_update($node) { |
function book_node_update(stdClass $node) { |
| 805 |
if (!empty($node->book['bid'])) { |
if (!empty($node->book['bid'])) { |
| 806 |
if ($node->book['bid'] == 'new') { |
if ($node->book['bid'] == 'new') { |
| 807 |
// New nodes that are their own book. |
// New nodes that are their own book. |
| 816 |
/** |
/** |
| 817 |
* Implement hook_node_delete(). |
* Implement hook_node_delete(). |
| 818 |
*/ |
*/ |
| 819 |
function book_node_delete($node) { |
function book_node_delete(stdClass $node) { |
| 820 |
if (!empty($node->book['bid'])) { |
if (!empty($node->book['bid'])) { |
| 821 |
if ($node->nid == $node->book['bid']) { |
if ($node->nid == $node->book['bid']) { |
| 822 |
// Handle deletion of a top-level post. |
// Handle deletion of a top-level post. |
| 839 |
/** |
/** |
| 840 |
* Implement hook_node_prepare(). |
* Implement hook_node_prepare(). |
| 841 |
*/ |
*/ |
| 842 |
function book_node_prepare($node) { |
function book_node_prepare(stdClass $node) { |
| 843 |
// Prepare defaults for the add/edit form. |
// Prepare defaults for the add/edit form. |
| 844 |
if (empty($node->book) && (user_access('add content to books') || user_access('administer book outlines'))) { |
if (empty($node->book) && (user_access('add content to books') || user_access('administer book outlines'))) { |
| 845 |
$node->book = array(); |
$node->book = array(); |
| 1086 |
* @return |
* @return |
| 1087 |
* The HTML generated for the given node. |
* The HTML generated for the given node. |
| 1088 |
*/ |
*/ |
| 1089 |
function book_node_export($node, $children = '') { |
function book_node_export(stdClass $node, $children = '') { |
| 1090 |
node_build_content($node, 'print'); |
node_build_content($node, 'print'); |
| 1091 |
$node->rendered = drupal_render($node->content); |
$node->rendered = drupal_render($node->content); |
| 1092 |
|
|