Page callback: Displays the content type admin overview page.
array An array as expected by drupal_render().
function node_overview_types() {
$types = node_type_get_types();
$names = node_type_get_names();
$field_ui = module_exists('field_ui');
$header = array(
t('Name'),
t('Operations'),
);
$rows = array();
foreach ($names as $key => $name) {
$type = $types[$key];
if (node_hook($type->type, 'form')) {
$row = array(
theme('node_admin_overview', array(
'name' => $name,
'type' => $type,
)),
);
$links['edit'] = array(
'title' => t('edit'),
'href' => 'admin/structure/types/manage/' . $type->type,
'weight' => 0,
);
if ($field_ui) {
$links['fields'] = array(
'title' => t('manage fields'),
'href' => 'admin/structure/types/manage/' . $type->type . '/fields',
'weight' => 5,
);
$links['display'] = array(
'title' => t('manage display'),
'href' => 'admin/structure/types/manage/' . $type->type . '/display',
'weight' => 10,
);
}
if ($type->custom) {
$links['delete'] = array(
'title' => t('delete'),
'href' => 'admin/structure/types/manage/' . $type->type . '/delete',
'weight' => 15,
);
}
$row[] = array(
'data' => array(
'#type' => 'operations',
'#links' => $links,
),
);
$rows[] = $row;
}
}
$build['node_table'] = array(
'#theme' => 'table',
'#header' => $header,
'#rows' => $rows,
'#empty' => t('No content types available. <a href="@link">Add content type</a>.', array(
'@link' => url('admin/structure/types/add'),
)),
);
return $build;
}