Community Documentation

book_access

5 book.module book_access($op, $node)

Implementation of hook_access().

▾ 2 functions call book_access()

book_link in modules/book/book.module
Implementation of hook_link().
hook_link in developer/hooks/core.php
Define internal Drupal links.

File

modules/book/book.module, line 31
Allows users to collaboratively author a book.

Code

<?php
function book_access($op, $node) {
  global $user;

  if ($op == 'create') {
    // Only registered users can create book pages. Given the nature
    // of the book module this is considered to be a good/safe idea.
    return user_access('create book pages');
  }

  if ($op == 'update') {
    // Only registered users can update book pages. Given the nature
    // of the book module this is considered to be a good/safe idea.
    // One can only update a book page if there are no suggested updates
    // of that page waiting for approval. That is, only updates that
    // don't overwrite the current or pending information are allowed.

    if (user_access('edit book pages') || ($node->uid == $user->uid && user_access('edit own book pages'))) {
      return TRUE;
    }
    else {
      // do nothing. node-access() will determine further access
    }
  }
}
?>
Login or register to post comments