noderelationships.system.inc in Node Relationships 6
Implementation of system related functions that are not executed during normal site operation.
File
noderelationships.system.incView source
<?php
/**
* @file
* Implementation of system related functions that are not executed
* during normal site operation.
*/
/**
* Implementation of hook_theme().
*/
function _noderelationships_theme() {
return array(
// Entity relation diagram.
'noderelationships_erd_diagram' => array(
'arguments' => array(
'diagram' => NULL,
),
'file' => 'noderelationships.admin.inc',
),
'noderelationships_erd_group' => array(
'arguments' => array(
'group_type' => NULL,
'entities' => NULL,
),
'file' => 'noderelationships.admin.inc',
),
'noderelationships_erd_current' => array(
'arguments' => array(
'label' => NULL,
'items' => NULL,
),
'file' => 'noderelationships.admin.inc',
),
'noderelationships_erd_entity' => array(
'arguments' => array(
'label' => NULL,
'items' => NULL,
),
'file' => 'noderelationships.admin.inc',
),
'noderelationships_erd_relation' => array(
'arguments' => array(
'label' => NULL,
),
'file' => 'noderelationships.admin.inc',
),
// Node relationship settings.
'noderelationships_admin_settings_noderef' => array(
'arguments' => array(
'form' => NULL,
),
'file' => 'noderelationships.admin.inc',
),
'noderelationships_admin_settings_backref' => array(
'arguments' => array(
'form' => NULL,
),
'file' => 'noderelationships.admin.inc',
),
'noderelationships_admin_help' => array(
'arguments' => array(
'message' => NULL,
),
'file' => 'noderelationships.admin.inc',
),
// Back reference views.
'noderelationships_backref_view' => array(
'arguments' => array(
'title' => NULL,
'content' => NULL,
),
'file' => 'noderelationships.pages.inc',
),
'noderelationships_formatter_default' => array(
'arguments' => array(
'element' => NULL,
),
'file' => 'noderelationships.pages.inc',
),
'noderelationships_formatter_count' => array(
'arguments' => array(
'element' => NULL,
),
'file' => 'noderelationships.pages.inc',
),
// Node reference extras.
'noderelationships_noderef_page_tabs' => array(
'arguments' => array(
'mode' => NULL,
'referrer_type' => NULL,
'field_name' => NULL,
),
'file' => 'noderelationships.pages.inc',
),
'noderelationships_noderef_page_content' => array(
'arguments' => array(
'content' => NULL,
),
'file' => 'noderelationships.pages.inc',
),
'noderelationships_noderef_page_prefix' => array(
'arguments' => array(),
'file' => 'noderelationships.pages.inc',
),
'noderelationships_noderef_page_suffix' => array(
'arguments' => array(),
'file' => 'noderelationships.pages.inc',
),
'noderelationships_noderef_singleselect' => array(
'arguments' => array(
'referrer_field' => NULL,
),
'file' => 'noderelationships.pages.inc',
),
'noderelationships_noderef_multiselect' => array(
'arguments' => array(
'referrer_field' => NULL,
),
'file' => 'noderelationships.pages.inc',
),
);
}
/**
* Implementation of hook_menu().
*/
function _noderelationships_menu() {
$items = array();
// Include common module functions.
module_load_include('inc', 'noderelationships');
// Any event which causes a menu_rebuild could potentially mean that the
// relationships data is updated -- content type changes, etc.
noderelationships_cache_clear();
// Build new menu items for each content type (relationships management).
foreach (array_keys(node_get_types()) as $type_name) {
$type_url_str = str_replace('_', '-', $type_name);
$items['admin/content/node-type/' . $type_url_str . '/relationships'] = array(
'title' => 'Relationships',
'page callback' => 'noderelationships_admin_page',
'page arguments' => array(
5,
$type_name,
),
'access arguments' => array(
'administer content types',
),
'type' => MENU_LOCAL_TASK,
'weight' => 10,
'file' => 'noderelationships.admin.inc',
);
$admin_tabs = array(
'erd' => 'Entity relations diagram',
'noderef' => 'Node reference extras',
'backref' => 'Back reference settings',
);
$item_weight = 0;
foreach ($admin_tabs as $op => $title) {
$items['admin/content/node-type/' . $type_url_str . '/relationships/' . $op] = array(
// Coder note: the content of $title is a literal string, which is fine.
'title' => $title,
'page callback' => 'noderelationships_admin_page',
'page arguments' => array(
5,
$type_name,
),
'access arguments' => array(
'administer content types',
),
'type' => $item_weight == 0 ? MENU_DEFAULT_LOCAL_TASK : MENU_LOCAL_TASK,
'weight' => $item_weight,
'file' => 'noderelationships.admin.inc',
);
$item_weight++;
}
}
// Add back reference tab to nodes. Note this tab is added for all nodes,
// but visibility is controlled by the access callback function.
$items['node/%node/relationships'] = array(
'title' => 'Relationships',
'page callback' => 'noderelationships_backref_page',
'page arguments' => array(
1,
),
'access callback' => 'noderelationships_backref_access',
'access arguments' => array(
1,
),
'type' => MENU_LOCAL_TASK,
'weight' => 10,
'file' => 'noderelationships.pages.inc',
);
// Search or Create and reference.
$items['noderelationships/search'] = array(
'title' => 'Search and reference',
'page callback' => 'noderelationships_noderef_page',
'page arguments' => array(
1,
),
'access arguments' => array(
'access content',
),
'type' => MENU_CALLBACK,
'file' => 'noderelationships.pages.inc',
);
$items['noderelationships/create'] = array(
'title' => 'Create and reference',
'page callback' => 'noderelationships_noderef_page',
'page arguments' => array(
1,
),
'access callback' => '_node_add_access',
'type' => MENU_CALLBACK,
'file' => 'noderelationships.pages.inc',
);
$items['noderelationships/ahah/search'] = array(
'title' => 'Search and reference',
'page callback' => 'noderelationships_noderef_ahah_search',
'access arguments' => array(
'access content',
),
'type' => MENU_CALLBACK,
'file' => 'noderelationships.pages.inc',
);
return $items;
}
Functions
Name![]() |
Description |
---|---|
_noderelationships_menu | Implementation of hook_menu(). |
_noderelationships_theme | Implementation of hook_theme(). |