Drupal 7 back reference field without views

  Lets imagine situation: you have node event and node article. Event node have no references to article, only article have reference to event. You need to put one event field on each article which have reference to that event. Maybe I am wrong (please correct me if it is not true) but we are not able to do it in views module. There were couple modules which allow backreference, but in fact we don't need to install new module to have this functionality. We can make it in small custom module, lets call it it backreference block. Code example given above. And you can dowload module, but I should notice that you need some skill to make it work. Thank you.

/**
 * @file
 * Custom module to add back reference field inside block.
 */

/**
 * Implements hook_block_info().
 */
function backreference_field_block_info() {
  $blocks['backreference_field'] = array(
    'info' => t('Backreference field'),
    'cache' => DRUPAL_CACHE_PER_PAGE,
  );

  return $blocks;
}


/**
 * Implements hook_block_view().
 *
 */
function backreference_field_block_view($delta = '') {
  switch ($delta) {
    case 'backreference_field':
      $data = backreference_field_get_data();
	  $block['subject'] = '';
      $block['content'] = array(
       '#markup' => $data,
      );
      break;
  }

  return $block;
}

/**
 * Helper to get event banner if exists.
 *
 * @return mixed
 */
function backreference_field_get_data() {
  $node = menu_get_object();
  $types = array(
    'article',
    'contest_article',
    'video',
    'contest_video',
    'gallery'
  );
  if (!empty($node) && in_array($node->type, $types)) {
    //Field referencing event
    $event_reference = field_get_items('node', $node, 'field_event');
	if (!empty($event_reference[0]['node'])) {
	  return backreference_field_get_banner($event_reference[0]['node']);
	}
  }
}

/**
 * Helper to get banner image.
 * @param $node
 * @return mixed
 */
function backreference_field_get_banner($node) {
  //against 'field_yourfield_name' you should put your field to show.
  $banner_fid = field_get_items('node', $node, 'field_event_banner');
  //In my case it was image so I take 'fid'.
  if (!empty($banner_fid[0]['fid'])) {
    $path = drupal_get_path_alias('node/' . $node->nid);
    $file = file_load($banner_fid[0]['fid']);
    if (!empty($file)) {
      $image = theme('image_formatter', array(
        'item' => array(
          'uri' => $file->uri,
          'alt' => $node->title . ' ' . t('Event banner'),
          'title' => $node->title,
        ),
        'path' => array(
          'path' => $path,
          'options' => array('html' => TRUE),
        ),
        'image_style' => 'some_image_style',
      ));
      if (!empty($image)) {
        return $image;
      }
    }
  }
}