<?php
/**
 * @file
 * Code for the DIY Guidebook feature.
 */

include_once 'diy_guidebook.features.inc';

/**
 * Implements HOOK_proprocess_field().
 */
function diy_guidebook_preprocess_field(&$variables, $hook) {

  if($variables['element']['#field_name'] == 'field_channel_title' && $variables['element']['#bundle'] == 'field_topic_content') {
    $fc_item = $variables['element']['#object'];
    $delta = $fc_item->delta();

    $variables['items'][0]['#markup'] = str_pad(++$delta, 2, '0', STR_PAD_LEFT) . '_' . $variables['items'][0]['#markup'];
  }

  if($variables['element']['#field_name'] == 'field_article' && $variables['element']['#bundle'] == 'field_topic_content') {
    if(isset($variables['items'][0]['#title'])) {
      $variables['items'][0]['#title'] = t('More...');
    }
  }

}

/**
 * Implements HOOK_preprocess_entity().
 */
function diy_guidebook_preprocess_entity(&$variables) {

  if($variables['entity_type'] == 'field_collection_item' && $variables['field_collection_item']->field_name == 'field_topic_content') {
    if($field_article = field_get_items('field_collection_item', $variables['field_collection_item'], 'field_article')) {
      if(isset($field_article[0]['nid'])) {
        $variables['article_url'] = url('node/' . $field_article[0]['nid']);
      }

    }

  }
}


/**
 * Implements HOOK_block_info().
 */
function diy_guidebook_block_info() {

  $blocks['diy_guidebook_tools_materials'] = array(
    'info' => t('DIY Guidebook tools and materials block'),
  );

  $blocks['diy_guidebook_tools_article'] = array(
    'info' => t('DIY Guidebook article block'),
  );

  return $blocks;
}

/**
 * Implements HOOK_block_view().
 */
function diy_guidebook_block_view($delta = '') {
  $block = array();

  switch ($delta) {
    case 'diy_guidebook_tools_materials':
      $block['content'] = diy_guidebook_tools_materials_block_content();
      break;
    case 'diy_guidebook_tools_article':
      $block['content'] = diy_guidebook_article_block_content();
      break;
  }

  return $block;
}

/**
 * Block callback
 */
function diy_guidebook_tools_materials_block_content() {
  if($node = menu_get_object('node')) {
    if($node->type == 'topic') {

      $output = field_view_field('node', $node, 'field_tools_and_materials', 'slider');
      return drupal_render($output);

    }
  }
}

/**
 * Block callback
 */
function diy_guidebook_article_block_content() {
  if($node = menu_get_object('node')) {
    if($node->type == 'topic') {

      $output = field_view_field('node', $node, 'field_articles', 'slider');
      return drupal_render($output);

    }
  }
}

