function library_get_action_links in Library 5.2        
                          
                  
                        Same name and namespace in other branches
- 6.2 library.module \library_get_action_links()
 - 6 library.module \library_get_action_links()
 - 7 library.module \library_get_action_links()
 
 
4 calls to library_get_action_links()
  - library_get_table_row in ./library.module
 
  
  - library_history in ./library.pages.inc
 
  - Menu callback; show the transaction history of a single node.
 
  - library_overdue_items in ./library.pages.inc
 
  
  - theme_library_items in ./library.theme.inc
 
  
 
File
 
   - ./library.module, line 1132
 
  
Code
function library_get_action_links($item, $item_copy = NULL) {
  global $user;
  $aids = array();
  $secondary_aids = array();
  $actions = array();
  $secondary_actions = array();
  if ($item['in_circulation'] == LIBRARY_REFERENCE_ONLY) {
    $reference_actions = variable_get('library_links_display_reference', array());
    foreach ($reference_actions as $aid) {
      $aids[] = $aid;
    }
  }
  else {
    if ($item['library_status'] == LIBRARY_ITEM_AVAILABLE) {
      $available_actions = variable_get('library_links_display_available', array());
      foreach ($available_actions as $aid) {
        $aids[] = $aid;
      }
      if (!is_null($item_copy) && $item_copy['library_status'] == LIBRARY_ITEM_UNAVAILABLE && !empty($item_copy['last_patron_id'])) {
        $unavailable_actions = variable_get('library_links_display_unavailable', array());
        $unavailable_aids = array();
        foreach ($unavailable_actions as $aid) {
          $unavailable_aids[] = $aid;
        }
        $secondary_aids = array_diff_key($aids, $unavailable_aids);
      }
    }
    else {
      $unavailable_actions = variable_get('library_links_display_unavailable', array());
      foreach ($unavailable_actions as $aid) {
        $aids[] = $aid;
      }
    }
  }
  $actions = library_actions($aids, $user);
  if (!empty($secondary_aids)) {
    $secondary_actions = library_actions($secondary_aids, $user);
  }
  $action_links = array();
  foreach ($actions as $aid => $action) {
    if ($action['status_change'] == LIBRARY_ACTION_TYPE_AVAILABLE && !empty($item['last_patron_id'])) {
      $action_links[] = l($action['name'], 'library-items/transaction/' . $item['id'] . '/' . $aid . '/' . $item['last_patron_id']);
    }
    else {
      $action_links[] = l($action['name'], 'library-items/transaction/' . $item['id'] . '/' . $aid);
    }
  }
  foreach ($secondary_actions as $aid => $action) {
    $action_links[] = l($action['name'], 'library-items/transaction/' . $item_copy['id'] . '/' . $aid . '/' . $item_copy['last_patron_id']);
  }
  return $action_links;
}