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

include_once 'diy_article.features.inc';

/**
 * Implementation of hook_form_alter().
 */
function diy_article_form_alter(&$form, &$form_state, $form_id) {

  // alter article comment form
  if($form_id == 'comment_node_article_form') {

    // setting for data privacy node id @see diy_defaults_settings_form
    $nid_data_privacy = variable_get('diy_defaults_nid_data_privacy', '');

    // look for our data-privacy checkbox
    if(isset($form['field_data_privacy']) && $nid_data_privacy) {
      $checkbox_label = $form['field_data_privacy'][LANGUAGE_NONE]['#title'];
      $form['field_data_privacy'][LANGUAGE_NONE]['#title'] = l($checkbox_label, 'node/' . $nid_data_privacy);
    }

  }

}

/**
 * Implements HOOK_preprocess_node().
 */
function diy_article_preprocess_node(&$vars) {
  if($vars['type'] == 'video' && $vars['view_mode'] == 'full') {

    if($field_video_similar = field_get_items('node', $vars['node'], 'field_video_similar')) {
      $nodes = array();

      foreach($field_video_similar as $video_reference) {
        $video = node_load($video_reference['target_id']);
        if($video->status != 1) {
          continue;
        }

        $video->diy_custom_use_meta_description = true;

        $video_teaser = node_view($video, 'search_result');
        $nodes[] = drupal_render($video_teaser);
      }

      $vars['similar'] = theme('item_list', array(
        'title' => t('Similar videos'),
        'items' => $nodes,
        'attributes' => array('class' => 'similar-list')
      ));
    }
  }

  if($vars['type'] == 'article' && $vars['view_mode'] == 'full') {

    if($field_article_similar = field_get_items('node', $vars['node'], 'field_article_similar')) {
      $nodes = array();

      foreach($field_article_similar as $article_reference) {
        $article = node_load($article_reference['target_id']);
        if($article->status != 1) {
          continue;
        }

        // flag, that indicates we want the meta description as teaser
        $article->diy_custom_use_meta_description = true;

        $article_teaser = node_view($article, 'search_result');
        $nodes[] = drupal_render($article_teaser);
      }

      $vars['similar'] = theme('item_list', array(
        'title' => t('Similar articles'),
        'items' => $nodes,
        'attributes' => array('class' => 'similar-list')
      ));
    }
  }
}