Same name and namespace in other branches
  1. 4.6.x modules/book.module \book_access()
  2. 5.x modules/book/book.module \book_access()

Implementation of hook_access().

File

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

Code

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->moderate || $node->uid == $user->uid && user_access('edit own book pages')) {
      return TRUE;
    }
    else {

      // do nothing. node-access() will determine further access
    }
  }
}