mediamosa_server_view

Versions
mediamosa-21
mediamosa_server_view($node, $view_mode = 'full')

Implements hook_view().

Code

sites/all/modules/mediamosa/core/node/mediamosa_node_mediamosa_server.inc, line 170

<?php
function mediamosa_server_view($node, $view_mode = 'full') {

  $breadcrumb = array();
  $breadcrumb[] = l(t('Home'), NULL);
  $breadcrumb[] = l(t('Administer'), 'admin');
  $breadcrumb[] = l(t('MediaMosa'), 'admin/mediamosa');
  $breadcrumb[] = l(t('Configuration'), 'admin/mediamosa/config');
  $breadcrumb[] = l(t('Server listing'), 'admin/mediamosa/config/server');
  drupal_set_breadcrumb($breadcrumb);

  // Default parameters
  $rows = array(
    array(t('Name'), check_plain($node->title)),
    array(t('Status'), ($node->server_status) ? t('On') : t('Off')),
    array(t('Server type'), $node->server_type),
  );

  // The fields we want to show.
  $fields = array(
    mediamosa_server_db::URI => t('URI / URL'),
    mediamosa_server_db::URI_UPLOAD_PROGRESS => t('URI upload progress'),
    mediamosa_server_db::CONTAINERS => t('Containers'),
    mediamosa_server_db::SLOTS => t('Slots'),
    mediamosa_server_db::TOOLS => t('Tools'),
    mediamosa_server_db::OBJECT_CODE => t('Object Code'),
  );

  switch ($node->{mediamosa_server_db::SERVER_TYPE}) {
    default:
      assert(0); // so we know.
    case mediamosa_server_db::SERVER_TYPE_DOWNLOAD:
    case mediamosa_server_db::SERVER_TYPE_STILL:
      unset($fields[mediamosa_server_db::URI_UPLOAD_PROGRESS]);
      unset($fields[mediamosa_server_db::CONTAINERS]);
      unset($fields[mediamosa_server_db::OBJECT_CODE]);
      unset($fields[mediamosa_server_db::SLOTS]);
      unset($fields[mediamosa_server_db::TOOLS]);
      break;
    case mediamosa_server_db::SERVER_TYPE_STREAMING:
      unset($fields[mediamosa_server_db::URI_UPLOAD_PROGRESS]);
      unset($fields[mediamosa_server_db::SLOTS]);
      unset($fields[mediamosa_server_db::TOOLS]);
      break;
    case mediamosa_server_db::SERVER_TYPE_JOB_PROCESSOR:
      unset($fields[mediamosa_server_db::URI_UPLOAD_PROGRESS]);
      unset($fields[mediamosa_server_db::CONTAINERS]);
      unset($fields[mediamosa_server_db::OBJECT_CODE]);
      break;
    case mediamosa_server_db::SERVER_TYPE_UPLOAD:
      unset($fields[mediamosa_server_db::URI]);
      unset($fields[mediamosa_server_db::CONTAINERS]);
      unset($fields[mediamosa_server_db::OBJECT_CODE]);
      unset($fields[mediamosa_server_db::SLOTS]);
      unset($fields[mediamosa_server_db::TOOLS]);
      break;
  }

  foreach ($fields as $key => $title) {
    if (!is_null($node->{$key})) {
      if ($key == mediamosa_server_db::OBJECT_CODE) {
        $rows[] = array($title, '<pre>' . check_plain($node->{$key}) . '</pre>');
      }
      else {
        $rows[] = array($title, check_plain($node->{$key}));
      }
    }
  }

  // Add timestamps.
  $rows[] = array(t('Created'), format_date($node->created, 'short'));
  $rows[] = array(t('Changed'), format_date($node->changed, 'short'));

  $node->content['app'] = array(
    '#markup' => theme('table', array('header' => array(t('Parameter'), t('Value')), 'rows' => $rows)),
  );

  return $node;
}
?>