mysite_type_book_data

Definition

mysite_type_book_data($type_id = NULL, $settings = NULL)
plugins/types/book.inc, line 81

Description

Implements mysite_type_hook_data().

Code

function mysite_type_book_data($type_id = NULL, $settings = NULL) {
  if (!empty($type_id)) {
    $sql = db_rewrite_sql("SELECT n.nid, n.changed FROM {node} n INNER JOIN {book} b ON n.nid = b.nid WHERE b.parent = %d OR n.nid = %d AND n.type = 'book' AND n.status = 1 ORDER BY n.changed DESC, b.weight");
    $result = db_query_range($sql, $type_id, $type_id, 0, variable_get('mysite_elements', 5));
    $data = array(
      'base' => 'book/'. $type_id,
      'xml' => 'book/'. $type_id .'/feed',
      );
    $items = array();
    $i = 0;
    $type = mysite_type_book(FALSE);
    while ($nid = db_fetch_object($result)) {
      $node = node_load($nid->nid);
      $items[$i]['type'] = $node->type;
      $items[$i]['link'] = l($node->title, 'node/'. $nid->nid, array('target' => $type['link_target']));
      $items[$i]['title'] = check_plain($node->title);
      $items[$i]['subtitle'] = NULL;
      $items[$i]['date'] = $node->changed;
      $items[$i]['uid'] = $node->uid;
      $items[$i]['author'] = check_plain($node->name);
      $items[$i]['teaser'] = mysite_teaser($node);
      $items[$i]['nid'] = $node->nid;
      $i++;
    }
    $data['items'] = $items;
    return $data;
  }
  drupal_set_message(t('Could not find book data'), 'error');
  return;
}